2016-04-30 10 views
0

たとえば、以下のようなxmlデータのサンプルがあります。 tinyxmlを使用して、という名前のノードをC++で収集するにはどうすればよいですか?または、小さなxmlは理想的なライブラリではありませんか?以下のサンプルコードでは、C#で簡単にこれを行うことができます。私はtinyxmlでこれを行う方法やそれが可能であるかどうかについてはっきりしていません。C++のXML selectノードと等価のC#

のXml

<Names> 
    <Name> 
     <FirstName>John</FirstName> 
     <LastName>Smith</LastName> 
    </Name> 
    <Name> 
     <FirstName>James</FirstName> 
     <LastName>White</LastName> 
    </Name> 
</Names> 

[C#の]

XmlDocument xml = new XmlDocument(); 
xml.LoadXml(myXmlString); // suppose that myXmlString contains "<Names>...</Names>" 

XmlNodeList xnList = xml.SelectNodes("/Names/Name"); 
foreach (XmlNode xn in xnList) 
{ 
    string firstName = xn["FirstName"].InnerText; 
    string lastName = xn["LastName"].InnerText; 
    Console.WriteLine("Name: {0} {1}", firstName, lastName); 
} 

出力は次のようになります。

Name: John Smith 
Name: James White 
+0

'SelectNodes()'はXPath文字列パラメータを受け入れるので、おそらくTinyXML + [TinyXPath](http://tinyxpath.sourceforge.net/)を試してみてください(免責事項:私はC++ユーザではありません) – har07

+0

libxml2 orl libxml ++ –

答えて

0

TinyXMLは、手動でDOMをトラバースする必要があります。上記のhar07のように、XPathサポートが必要な場合は、​​を試してみてください。

関連する問題