[英]Using LINQ to XML to read text from XML file
我有一个像这样的XML文件:
<Root>
This is beginning of list of children.
<Children>
<Child Name="a">A</Child>
<Child Name="b">B</Child>
<Child Name="c">C</Child>
</Children>
This is end of list of children.
</Root>
我正在使用LINQ to XML(XDocument)读取此文件。 我需要的是根元素“这是孩子列表的开始”中的“文本”。 但是,当我检查XElement的Root的Value属性时,得到以下信息:
这是孩子列表的开头。ABC这是孩子列表的结尾。
我究竟做错了什么?
如果只需要第一个文本节点(忽略“这是孩子列表的末尾”,而这仍是根元素中的文本),则可以使用:
var text = (string) doc.Root.Nodes()
.OfType<XText>()
.First()
.Value;
请注意,这将包含空格,因此您可能需要修剪它。 它也假设有至少一个文本节点。
var doc = XDocument.Parse(xml);
var ele = doc.Element("Root");
string whatUWant = ele.FirstNode.ToString();
这可能满足您的要求。
顺便说一句,Root.Value表示节点“ Root”的整个值,因此您得到了这样的结果。 我猜。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.