我们有这样的XML:
<Example>
<Node>Some text here
<ChildNode>Child 1</ChildNode>
<ChildNode>Child 2</ChildNode>
</Node>
</Example>
Run Code Online (Sandbox Code Playgroud)
我们XmlDocument用来解析这个.
当我们有"Node"元素的XmlNode时,XmlNode.InnerText返回以下信息:
"Some text hereChild 1Child2"
Run Code Online (Sandbox Code Playgroud)
如何在没有子节点内部文本的情况下获取Node元素的内部文本?我们真的不想使用任何RegEx或字符串拆分来完成此任务.
注意:我们也不想切换到使用不同的类来解析这个XML,这将是一个太多的代码更改.
var doc = new XmlDocument();
doc.LoadXml(xml);
var text = doc.SelectSingleNode("Example/Node/text()").InnerText; // or .Value
Run Code Online (Sandbox Code Playgroud)
回报
"Some text here\r\n "
Run Code Online (Sandbox Code Playgroud)
并text.Trim()返回
"Some text here"
Run Code Online (Sandbox Code Playgroud)