简体   繁体   中英

how can I get XmlNodes data with XmlDocument in similar node name?

my xml data is :

<response>
<result name="response" numFound="2" start="0">
<doc><str name="Author">ALi Ahmadi</str><int name="BookID">1904</int><str name="Title">BookName 1</str></doc>
<doc><str name="Author">Reza Javadi</str><int name="BookID">1523</int><str name="Title">BookName 2</str></doc>
</result>
</response>

my c# code is :

XmlDocument XmlDoc = new XmlDocument();
XmlDoc.LoadXml(ResultData);

XmlNodeList XnList = XmlDoc.SelectNodes("/response/result/doc");
foreach (XmlNode Xn in XnList)
{
    string a = Xn["str"].InnerText;
    string b = Xn["int"].InnerText;
    string c = Xn["str"].InnerText;
    //string c = Xn["str[@name='Title']"].InnerText;//error !
}

a & c result is : "Ali Ahmadi", How can i get "BookName 1" in c variable ?

如果您知道节点'Title'的索引,您可以通过以下代码获得它的inerrHTML:

     c = Xn.ChildNodes[2].InnerText;

尝试这个

 string c = Xn["str"].Attributes["Title"].Value

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM