简体   繁体   English

LINQ to XML读取层次结构XML文档

[英]LINQ to XML to read Hierarchal XML Document

I have an XML as an XDocument . 我有一个XML作为XDocument How can I use LINQ to read an attribute x if SubMain y? 如果SubMain为y,如何使用LINQ读取属性x?

<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>

Quick and dirty 又快又脏

            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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM