簡體   English   中英

如何使用Linq To XML獲取多個元素並以不同方式存儲它們?

[英]How to use Linq To XML to get multiple elements and store them differently?

<MainData id="1" >
<Info>
<Date>2015-06-08 15:00:00</Date>
</Info>
<Data DataRef="uu91"/>
<Data DataRef="uu92">
</Data>
</MainData>

我有一個xml文件,我想獲取兩個數據元素並將它們存儲到兩個不同的變量中,所以當我執行相同的值時會出現。 當我收到這兩個值時,我想獲取ID,日期...

var data = from item in retreiveOptaHomeFixturesXml.Descendants("MainData")
                   select new
                   {
                       ID = item.Attribute("id").Value,
                       Date = item.Element("Info").Element("Date").Value,
                       DataRef1 = item.Element("Data").Attribute("DataRef").Value,
                       Dataref2 = item.Element("Data").Attribute("DataRef").Value,
                   };

理想情況下,應該將DataRef提取到一個列表中,因為在每個MainData您將擁有具有DataRef屬性的多個數據。 您可以這樣:-

 var data = from item in x1.Descendants("MainData")
            let dataNodes = item.Elements("Data")
            select new
                  {
                     ID = item.Attribute("id").Value,
                     Date = item.Element("Info").Element("Date").Value,
                     DataRef1Ref2 = dataNodes.Select(x => (string)x.Attribute("DataRef"))
                                             .ToList()
                  };

暫無
暫無

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

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