你好。
    问下,我不知道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 把它里面的内容全部解析出来。。?
如果能,怎么操作。
才接触到这个。小弟求解

解决方案 »

  1.   

    可以。只要你的xml文件格式正确,便能解析出来。另外,如果你对CMarkup的方法不熟练,建议你还是先建一个测试demo,熟悉一下它的方法。参见http://www.firstobject.com/dn_upmethods.htm
      

  2.   

    MSXML2::IXMLDOMElementPtr m_pXmlElement;
    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; // 这里获取节点的名称
    }你可以根据上面的代码写一个简单的递归程序来访问所有的节点
      

  3.   

    http://www.cnblogs.com/scq2099yt/category/121708.html
      

  4.   

    我想还是用类 CMarkup 算了。
    在弄个东西测试下看看。
    谢谢楼上的
    谢谢   iyranly