简体   繁体   中英

Get the Value of XElements that dont has Child

How can I get the value of a Node in a XDocument when don't has more childs ?

<Contacts>
      <Company>
          <Name>Testing</Name>
          <ID>123</ID>
      </Company>
</Contacts>

In this case, I wanna get the value of the <Name> and <ID> element, because don't has child elements in them.

I'm trying the follow

protected void LeXMLNode(HttpPostedFile file)
{
    XmlReader rdr = XmlReader.Create(file.FileName);            
    XDocument doc2 = XDocument.Load(rdr);            

    foreach (var name in doc2.Root.DescendantNodes().OfType<XElement>().Select(x => x.Name).Distinct())
    {
        XElement Contact = (from xml2 in doc2.Descendants(name.ToString())                                    
                            where xml2.Descendants(name.ToString()).Count() == 0
                            select xml2).FirstOrDefault();

        string nome = name.ToString();
    }           
}

but without success, because my foreach pass in all Elements and I wanna get just the value of Elements that don't has childs.

document.Root.Elements("Company").Elements()
                .Where(item => !item.HasElements).ToList();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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