繁体   English   中英

需要一点有关Linq 2 xml的帮助

[英]Need a little help with Linq 2 xml

我有与此类似的情况:

public class TestLinq2Xml
{
  private XElement GenerateSomeXml()
  {
     return XElement.Parse(@"<MyObject>
                                <Properties>
                                   <Name>My object 1</Name>
                                   <Position>0; 0; 0</Position>
                                </Properties>
                             </MyObject>");
  }

public void ExploreXmlNode()
{
  var xmlTree = this.GenerateSomeXml();

  var name = xmlTree.Element("MyObject").Element("Properties").Element("Name").Value;

  Console.WriteLine(name);
}

}

好的,这非常简化。 ....但仍然无法正常工作。 对我在这里做错的任何想法吗?

编辑:

哦,差点忘了。 问题是xmlTree.Element("MyObject")返回一个空的linq序列。 即使我显然有一个名为“ MyObject”的节点。

XElement.Parse返回一个XElement,它是<MyObject>节点。 尝试:-

var name = xmlTree.Element(“ Properties”)。Element(“ Name”)。Value;

除了前面的建议,您还可以从GenerateSomeXml()函数返回一个XDocument,以便linq可以工作。

        private static XDocument GenerateSomeXml()
    {
        return XDocument.Parse(@"<MyObject>
                            <Properties>
                               <Name>My object 1</Name>
                               <Position>0; 0; 0</Position>
                            </Properties>
                         </MyObject>");
    }

暂无
暂无

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

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