2010-03-10 4 views
1

aide MSXML4, je crée et enregistrement d'un fichier xml:Comment acquérir une chaîne XML pour un enfant en utilisant msxml4?

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

J'ai besoin maintenant d'acquérir une sous-chaîne de m_pXmlDoc->xml et enregistrez-le. Par exemple, si le fichier XML complet est:

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

Je veux conserver cette place sous-chaîne:

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

Comment puis-je obtenir cette sous-chaîne en utilisant MXML4?

Répondre

1

Utilisez les requêtes XPath. Voir le MSDN documentaion pour l'interrogation des nœuds. Fondamentalement, vous devez appeler l'API selectNodes avec l'expression XPath appropriée correspondant à la partie du DOM qui vous intéresse.

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