如何使用msxml4为子项获取xml字符串?

时间:2010-03-10 22:38:42

标签: c++ xml msxml

使用MSXML4,我正在创建并保存xml文件:

MSXML2::IXMLDOMDocument2Ptr m_pXmlDoc;
//add some elements with data
SaveToDisk(static_cast<std::string>(m_pXmlDoc->xml));

我现在需要从m_pXmlDoc->xml获取子字符串并保存它。例如,如果完整的xml是:

<data>
    <child1>
        <A>data</A>
            <One>data</One>
        <B>data</B>
    </child1>
</data>

我想存储这个子字符串:

<A>data</A>
    <One>data</One>
<B>data</B>

如何使用MXML4获取此子字符串?

1 个答案:

答案 0 :(得分:1)

使用XPath查询。有关查询节点的信息,请参阅MSDN documentaion。基本上,您需要使用与您感兴趣的DOM部分匹配的相应XPath表达式调用selectNodes API。

// Query a node-set.
MSXML4::IXMLDOMNodeListPtr pnl = pXMLDom->selectNodes(L"//child/*");