<routing>
- <tcp>
- <node>
- <this>
- <id>
<province>21</province>
<city>01</city>
<type>02</type>
<sn>ffffff</sn>
</id>
</this>
- <dpd>
- <id>
<province>21</province>
<city>01</city>
<type>09</type>
<sn>000000</sn>
</id>
</dpd>
</node>
</tcp>
</routing>
下面的程序是我写的想得到province的值,可是用TRACE查看什么也没有。 CMarkup xml;
xml.Load("routing.xml");
while (xml.FindChildElem("tcp"))
{
xml.FindChildElem("province");
CString csSN = xml.GetData();
TRACE("\n---NAME:%s---\n",csSN);
}
- <tcp>
- <node>
- <this>
- <id>
<province>21</province>
<city>01</city>
<type>02</type>
<sn>ffffff</sn>
</id>
</this>
- <dpd>
- <id>
<province>21</province>
<city>01</city>
<type>09</type>
<sn>000000</sn>
</id>
</dpd>
</node>
</tcp>
</routing>
下面的程序是我写的想得到province的值,可是用TRACE查看什么也没有。 CMarkup xml;
xml.Load("routing.xml");
while (xml.FindChildElem("tcp"))
{
xml.FindChildElem("province");
CString csSN = xml.GetData();
TRACE("\n---NAME:%s---\n",csSN);
}
它被包了这么多层,<tcp>
- <node>
- <this>
- <id>
当然要多FindChildElem几下,还有既然“找到”了,就要进入,你不进去,怎么看?xml.IntoElem();xml.OutOfElem();
<tcp>
<node>
<this>
<id>
<province>21 </province>
<city>01 </city>
<type>02 </type>
<sn>ffffff </sn>
</id>
</this>
<dpd>
<id>
<province>21 </province>
<city>01 </city>
<type>09 </type>
<sn>000000 </sn>
</id>
</dpd>
</node>
</tcp>
</routing> 树结构不对,一个是this一个是dpd当然没法循环了,如果把dpd也改成this的话,应该这样写,我没测试,我写一下你参考一下:
CMarkup xml;
xml.Load("routing.xml");
xml.FindElem("routing");
xml.FindChildElem("tcp");
xml.IntoElem();
xml.FindChildElem("node");
xml.IntoElem();
while (xml.FindChildElem("this"))
{
xml.IntoElem();
xml.FindChildElem("id");
xml.IntoElem();
xml.FindChildElem("province");
CString csSN = xml.GetData();
TRACE("\n---NAME:%s---\n",csSN);
}
<tcp>
<node>
<this>
<id>
<province>21 </province>
<city>01 </city>
<type>02 </type>
<sn>ffffff </sn>
</id>
</this>
<dpd>
<id>
<province>21 </province>
<city>01 </city>
<type>09 </type>
<sn>000000 </sn>
</id>
</dpd>
</node>
</tcp>
</routing> 树结构不对,一个是this一个是dpd当然没法循环了,如果把dpd也改成this的话,应该这样写,我没测试,我写一下你参考一下:
CMarkup xml;
xml.Load("routing.xml");
xml.FindElem("routing");xml.FindChildElem("tcp");
xml.IntoElem(0);
xml.FindChildElem("node");
xml.IntoElem(0);
while (xml.FindChildElem("this"))
{
xml.IntoElem(0);
xml.FindChildElem("id");
xml.IntoElem(0);
xml.FindChildElem("province");
CString csSN = xml.GetData();
TRACE("\n---NAME:%s---\n",csSN);
}