2012-11-11 72 views
0

如何用LINQ解析這種XML文件?XML解析使用LINQ的C#

<houses> 
    <house nbr="146" city="Linköping" owner="john"/> 
    <house nbr="134" city="Norrköping" owner="wayne"/> 
    <house nbr="146" city="Köping" owner="steffe"/> 
</houses> 

我能找到的所有例子只描述瞭如何解析每個元素的值。

如果是這樣我會做這樣的案例:

var houses = from house in xmlDoc.Descendants("house") 
      select new RowData 
      { 
       number = spec.Element("nbr").Value, 
       city = spec.Element("city").Value, 
       owner = spec.Element("owner").Value, 
      }; 
return houses ; 

但此XML文件沒有被格式化的方式。

+0

你要買什麼來擺脫它? –

+0

每個元素都提供了可以在LINQ查詢中使用的屬性集合。向我們展示如何閱讀代碼中的元素。 – toniedzwiedz

回答

1

試試這個:

var houses = from house in document.Descendants("house") 
       select new RowData 
       { 
        number = (int)house.Attribute("nbr"), 
        city = (string)house.Attribute("city"), 
        owner = (string)house.Attribute("owner") 
       }; 
+0

很棒。謝謝! – Per