我是XML新手,无法从HttpWebResponse读回我的XML响应。
以下是回复:
<RESPONSE version="1.2">
<RESULTS>
<AN an_type="C"
an_id="783hdryfdg56a2"
an_num="1"
an_status="100" />
<RESULTS>
</RESPONSE>
我想提取出an_id值并将其保存到列表中。开始这样做但似乎得到一个for xmlnodelist作为int但它认为nodes [“an_id”]是一个字符串
List<int> IDs = new List<int>();
XmlDocument doc = new XmlDocument();
doc.LoadXml(returnValue);
XmlNodeList nodes = doc.SelectNodes("SEARCH_RESULTS/LOAN");
LoanIDs.Add(Convert.ToInt32(nodes["an_id"].InnerText));
一旦将an_id添加到列表中,也是一种方法。列表中的foreach项使用它作为新xml的参数,如下所示:
<INPUT>
<LOGIN API_ID=""cat"" API_PASSWORD=""dog"" />
<REQUEST>
<AN an_id=""@anID"" />
<AN an_id=""@anID"" />
....foreach one in list it adds a new node with the value
</REQUEST>
</INPUT>
答案 0 :(得分:4)
xml
是XML代码的字符串:
var ids = XDocument.Parse(xml).
Descendants("AN").
Select(e => (string)e.Attribute("an_id")).
ToList();
但是,从您的示例中,似乎该属性始终不是整数。 您确定要转换吗?我根据您的最新评论将属性的强制转换为(字符串)。
如果要重复使用列表,current
是包含要添加的元素的父元素:
current.Add(ids.Select(i => new XElement("AN", new XAttribute("an_id", i))));