Как получить строку XML для ребенка с помощью msxml4? - PullRequest
1 голос
/ 11 марта 2010

Используя 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 Ответ

1 голос
/ 11 марта 2010

Используйте запросы XPath.См. MSDN документацию для запроса узлов.По сути, вам нужно вызвать selectNodes API с соответствующим выражением XPath, которое соответствует интересующей вас части DOM.

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