C# - 在标签/元素之外读取XML

时间:2014-03-16 21:32:41

标签: c# .net xml

我有一个小问题,我希望得到一些帮助解决。到目前为止,我处于死胡同。

这是一个示例输入:

<example some="" random="" attributes="" here="">
  <something>
    [01/01/1993 10:10:10] name:
  </something>important text.
</example>

我需要获得位于显示位置的“重要文本”。由于它是由另一个应用程序生成的,我无法修改XML。

谢谢, 托马斯。

PS。我目前的想法是阅读所有元素和元素的内容,并将其替换为什么 - 这显然不是一个很好的方法。

2 个答案:

答案 0 :(得分:2)

var xText = XDocument.Parse(xmlstr).Root.Nodes().Last() as XText;
var text = xText.Value;

OR

var text = XDocument.Parse(DATA).Root.Nodes().Last().ToString();

答案 1 :(得分:2)

这可能就是你要找的东西:

var xdoc = XDocument.Load("1.xml");
var text = xdoc.Root.Element("something").NextNode as XText;

if (text != null)
{
    Console.WriteLine(text.Value);
}

此代码检查您的下一个节点是否为XText而不是null,这在您的情况下是一种很好的做法。