簡體   English   中英

如何使用節點列表解析XML文件?

[英]How can I parse a XML file with a list of nodes?

如果我有一個簡單的xml文件

<person>
  <age>46</age>
  <name>Max</name>
</person>

我可以使用XDocument和LinqToSQL將數據讀入我的結構:

var res = from item in xdoc.Descendants("person")
          select new Person
          {
              Age = item.Element("age").Value,
              Name = item.Element("name").Value,
          };

但是現在我有一個以上的元素

<person>
  <age>46</age>
  <name>Max</name>
  <phone>123</phone>
  <phone>456</phone>
</person>

我現在如何削減文檔並將數據讀入我的結構? 因為現在我需要一個字符串列表,但是如何獲取每個電話線並將其添加到我的列表中?

謝謝。

你只是在尋找:

var res = from item in xdoc.Descendants("person")
          select new Person
          {
              Age = item.Element("age").Value,
              Name = item.Element("name").Value,
              Phones = item.Elements("phone").Select(x => x.Value).ToList()
          };

我會將Age設為整數(或者理想情況下將出生日期表示為DateTime ,但是......),並且可能使用顯式轉換而不是.Value屬性:

var res = from item in xdoc.Descendants("person")
          select new Person
          {
              Age = (int) item.Element("age"),
              Name = (string) item.Element("name"),
              Phones = item.Elements("phone").Select(x => (string) x).ToList()
          };

所有這些都假定您的Person類具有IList<string>類型的可寫Phones屬性或類似的東西。

暫無
暫無

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

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