0

子供がいないときNodeにaの値を取得するにはどうすればよいですか?XDocument

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

この場合、子要素が含まれていないため、 <Name>and要素の値を取得します。<ID>

私はフォローしようとしています

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

しかし、成功しませんでした。なぜなら、私のforeachパスはすべてであり、子供がいないElementsという価値だけを取得したいからです。Elements

4

2 に答える 2

1
document.Root.Elements("Company").Elements()
                .Where(item => !item.HasElements).ToList();
于 2012-08-06T20:42:55.323 に答える
0

参照XElement.HasElements: http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.haselements.aspx

于 2012-08-06T20:41:04.697 に答える