XML中相同元素项的解析方法解决办法
XML中相同元素项的解析方法
比如在XML中有项是这样的<telno>136789232***</telno>,在VC中可以解析selectSingleNode查找它,然后通过Gettext取得号码值,但是如果是这样的该如何取其中的每个号码呢?
<telnos>
<telno>13678****11</telno>
<telno>13678****22</telno>
<telno>13678****233</telno>
<telno>13678****44</telno>
<telno>13678***255</telno>
<telno>13678***266</telno>
</telnos>
------解决方案--------------------
不用selectSingleNode,换成SelectNodes
------解决方案--------------------
可以将节点列举出来
MSXML2::IXMLDOMNodeListPtr pNodeList;
MSXML2::IXMLDOMElementPtr pRootNode;
MSXML2::IXMLDOMElementPtr pChildNode;
.........
pNodeList = pRootNode->selectNodes(TEXT("telnos/telno"));
LONG lCount = pNodeList->Getlenght();
for( LONG i = 0; i < lCount; i++ )
{
pChildNode = pNodeList->Getitem(i);
printf("%s\n", (char*)pChildNode->Gettext());
}
比如在XML中有项是这样的<telno>136789232***</telno>,在VC中可以解析selectSingleNode查找它,然后通过Gettext取得号码值,但是如果是这样的该如何取其中的每个号码呢?
<telnos>
<telno>13678****11</telno>
<telno>13678****22</telno>
<telno>13678****233</telno>
<telno>13678****44</telno>
<telno>13678***255</telno>
<telno>13678***266</telno>
</telnos>
------解决方案--------------------
不用selectSingleNode,换成SelectNodes
------解决方案--------------------
可以将节点列举出来
MSXML2::IXMLDOMNodeListPtr pNodeList;
MSXML2::IXMLDOMElementPtr pRootNode;
MSXML2::IXMLDOMElementPtr pChildNode;
.........
pNodeList = pRootNode->selectNodes(TEXT("telnos/telno"));
LONG lCount = pNodeList->Getlenght();
for( LONG i = 0; i < lCount; i++ )
{
pChildNode = pNodeList->Getitem(i);
printf("%s\n", (char*)pChildNode->Gettext());
}