【发布时间】:2013-01-08 17:08:34
【问题描述】:
我是 XML 新手,在将 XML 中的 2 个值与相同的标签名称组合时遇到问题。
XML 示例,
<point>
<ref>
<text>My name</text>
</ref>
<ref>
<text>James</text>
</ref>
</point>
我想得到“我的名字詹姆斯”的输出......有什么想法或解决方案吗?
【问题讨论】:
我是 XML 新手,在将 XML 中的 2 个值与相同的标签名称组合时遇到问题。
XML 示例,
<point>
<ref>
<text>My name</text>
</ref>
<ref>
<text>James</text>
</ref>
</point>
我想得到“我的名字詹姆斯”的输出......有什么想法或解决方案吗?
【问题讨论】:
假设 Xml 文件位于 C:\Temp\test.xml
string fileContent = File.ReadAllText(@"C:\Temp\test.xml");
var xml = XElement.Parse(fileContent);
//select every node with name 'text' regardless of their location in DOM
var values = xml.XPathSelectElements("//text")
.Select(element => element.Value);
string result = string.Join(" ", values);
Console.WriteLine (result);
打印
我叫詹姆斯
如果您想要路径 point/ref/text 处的特定节点,则使用下一个 values 提取器
var values = xml.Descendants("ref")
.Elements()
.Where(node => node.Name == "text")
.Select(node => node.Value);
【讨论】:
change 你的意思是读一个文件?你需要读取一个xml文件,添加xml节点并转换为字符串,对吧?