簡體   English   中英

將XML屬性讀入列表

[英]Reading XML Attributes into a List

我是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>

使用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))));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM