簡體   English   中英

在C#中讀取XMl數據相同的節點

[英]Reading XMl Data same nodes in C#

我有以下XML數據。

    <userAddress>
     <addr>
      <streetAddress/>
      <streetAddress>some street</streetAddress>
      <streetAddress>town</streetAddress>
      <streetAddress>city</streetAddress>
      <streetAddress>London</streetAddress>
      <postCode>L45 1SG</postCode>
     </addr>
    </userAddress>

我正在嘗試讀取每條街道地址行,並將值存儲在帶有以下代碼的變量中。

    XElement elem = XElement.Parse(xmldata);
    var address = elem.Descendants("addr").ToList();
     foreach (var adr in address)
     {
       current_user.address_1 = addr.Element("streetAddress").Value.ToString();
       current_user.address_2 = addr.Element("streetAddress").Value.ToString();
       current_patient.address_3 = addr.Element("streetAddress").Value.ToString();
       current_patient.address_4 = addr.Element("streetAddress").Value.ToString();
       current_patient.address_5 = addr.Element("streetAddress").Value.ToString();
       current_patient.post_code = addr.Element("postCode").Value;
     }

我上面的代碼面臨的問題是它正在將streetAddress的第一行值分配給所有變量address_1,address_2,address_3,address_4,address_5。

如果需要地址列表,則可以直接獲取元素。 然后,您必須根據自己的條件分配值

XElement elem = XElement.Parse(xmldata);

IEnumerable<XElement> addresses = elem.Descendants("streetAddress");

現在,您可以循環瀏覽並分配值。

暫無
暫無

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

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