c# - C# 中的 XElement 值

标签 c# xml xelement

如何获取 XElement 的值没有得到子元素?

一个例子:

<?xml version="1.0" ?>
<someNode>
    someValue
    <child>1</child>
    <child>2</child>
</someNode>

如果我将 XElement.Value 用于 <someNode>我得到 "somevalue<child>1</child><child>2<child>"字符串,但我只想获得没有 "<child>1</child><child>2<child>" 的“somevalue”子串。

最佳答案

你可以比使用 Descendants 更简单一些 - Nodes 方法只返回直接子节点:

XElement element = XElement.Parse(
    @"<someNode>somevalue<child>1</child><child>2</child></someNode>");
var firstTextValue = element.Nodes().OfType<XText>().First().Value;

请注意,即使在子元素出现在文本节点之前的情况下,这也会起作用,如下所示:

XElement element = XElement.Parse(
    @"<someNode><child>1</child><child>2</child>some value</someNode>");
var firstTextValue = element.Nodes().OfType<XText>().First().Value;

关于c# - C# 中的 XElement 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3224417/

相关文章:

c# - 获取 XElement 的名称

c# - 直接从 Dictionary<> 获取 KeyValuePair<>

c# - C#中的轴承计算

xml - 如何在 Liquibase 中定义一组默认列,def。 PK,def。索引,def。表创建的值?

java - SAX 究竟是如何解析文档的?

c# - StyleCop 使用 XDocument/XElement/XAttribute 愉快地创建 Xml

c# - XML 元素属性值是否始终是字符串数据类型?

c# - 在 TreeView 中动态分组/嵌套平面数据

c# - & 热键不会在运行时消失

javascript - 防止 javascript 在 xml 具有空节点值时中断