【问题标题】:How do I get the first child of an XElement?如何获得 XElement 的第一个孩子?
【发布时间】:2020-01-20 10:09:20
【问题描述】:

旧的 XmlElement 类有一个 FirstChild 属性。 XElement 等价物是什么?

Visual Studio 拒绝 .Element()、.Elements()[0]. 和 .Elements().First()

【问题讨论】:

标签: c# .net vb.net


【解决方案1】:

您需要XElement 类的IEnumerable<XElement> Descendants() 方法。

XElement element = ...;
XElement firstChild = element.Descendants().First();

这个示例程序:

var document = XDocument.Parse(@"
    <A x=""some"">
        <B y=""data"">
            <C/>
        </B>
        <D/>
    </A>
    ");

Console.WriteLine(document.Root.Descendants().First().ToString());

产生这个输出:

<B y="data">
    <C/>
</B>

【讨论】:

    【解决方案2】:

    http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.aspx 声明 XElement 有一个属性 FirstNode,继承自 XContainer。这被描述为当前节点的第一个子节点,因此可能是您所追求的。

    【讨论】:

    • 我尝试element.FirstNode,寻找XElement,但它返回了一个XText 对象,其值为“\r\n [几个空格]”。
    • @jbobbins 自发布以来可能发生了一些变化 - 您正在回复今天庆祝其 6 岁生日的答案。
    猜你喜欢
    • 1970-01-01
    • 2015-12-26
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多