2012-02-29 130 views
0

我有一個XML作爲XDocument。如果SubMain y如何使用LINQ讀取屬性x?LINQ to XML讀取Hierarchal XML文檔

<Main> 
<SubMain Name="SubMain1"> 
    <Attribute1>Value1</Attribute1> 
    <Attribute2>Value2</Attribute2> 
    <Attributen>Valuen</Attribute2> 
<SubMain> 

<SubMain Name="SubMain2"> 
    <Attribute1>Value1</Attribute1> 
    <Attribute2>Value2</Attribute2> 
    <Attributen>Valuen</Attribute2> 
<SubMain> 
</Main> 
+0

小心。 '屬性'在XML中有特定的含義,那不是它。 http://www.w3schools.com/dtd/dtd_el_vs_attr.asp – xcud 2012-02-29 06:34:51

回答

1

快速和骯髒的

  var xmlString = @"<Main> 
          <SubMain Name=""SubMain1""> 
          <Attribute1>Value1</Attribute1> 
          <Attribute2>Value2</Attribute2> 
          <Attributen>Valuen</Attributen> 
          </SubMain> 

          <SubMain Name=""SubMain2""> 
          <Attribute1>Value1</Attribute1> 
          <Attribute2>Value2</Attribute2> 
          <Attributen>Valuen</Attributen> 
          </SubMain> 
          </Main>"; 

      var xDoc = XDocument.Parse(xmlString); 
      var item = (from el in xDoc.Descendants("SubMain") 
         where el.Attribute("Name").Value == "SubMain2" 
         select el);