你好。
问下,我不知道XML各个节点的名称。
例如:
<?xml version="1.0"?>
<ORDER date="20010501" time="100534">
<ITEM id="6754a">
<NAME>carrots</NAME>
<QTY>1</QTY>
<PRICE unit = "1 lb">.98</PRICE>
</ITEM>
<ITEM>
<NAME>onions</NAME>
<QTY>1</QTY>
<PRICE unit="3 lb bag">1.10</PRICE>
<SUPPLIER>Hanover</SUPPLIER>
</ITEM>
<COUPON>
<SN>4368724387343</SN>
<ITEMNAME>onions</ITEMNAME>
<PRICE unit="3 lb bag">.50</PRICE>
</COUPON>
</ORDER>
能不能用CMarkup 把它里面的内容全部解析出来。。?
如果能,怎么操作。
才接触到这个。小弟求解
问下,我不知道XML各个节点的名称。
例如:
<?xml version="1.0"?>
<ORDER date="20010501" time="100534">
<ITEM id="6754a">
<NAME>carrots</NAME>
<QTY>1</QTY>
<PRICE unit = "1 lb">.98</PRICE>
</ITEM>
<ITEM>
<NAME>onions</NAME>
<QTY>1</QTY>
<PRICE unit="3 lb bag">1.10</PRICE>
<SUPPLIER>Hanover</SUPPLIER>
</ITEM>
<COUPON>
<SN>4368724387343</SN>
<ITEMNAME>onions</ITEMNAME>
<PRICE unit="3 lb bag">.50</PRICE>
</COUPON>
</ORDER>
能不能用CMarkup 把它里面的内容全部解析出来。。?
如果能,怎么操作。
才接触到这个。小弟求解
MSXML2::IXMLDOMDocumentPtr pXMLDoc( __uuidof(MSXML2::FreeThreadedDOMDocument30));
if(NULL != pXMLDoc)
{
try
{
pXMLDoc->load(_variant_t(bstrProfileLocation));
m_pXmlElement = pXMLDoc->GetdocumentElement();
}
}if (NULL == m_pXmlElement)
{
return ;
}
// 遍历m_pXmlElement节点的所有子节点
MSXML2::IXMLDOMNodePtr pChild = m_pXmlElement->firstChild;
for ( ; NULL != pChild; pChild = pChild->nextSibling)
{
MSXML2::DOMNodeType nodeType;
pChild->get_nodeType(&nodeType);
if (nodeType == NODE_COMMENT)
{
continue;
} _bstr_t bstrType = pChild->nodeName; // 这里获取节点的名称
}你可以根据上面的代码写一个简单的递归程序来访问所有的节点
在弄个东西测试下看看。
谢谢楼上的
谢谢 iyranly