C# 如何获得特定元素的句柄
假设您具有以下xml结构:C# 如何获得特定元素的句柄,c#,linq-to-xml,xelement,C#,Linq To Xml,Xelement,假设您具有以下xml结构: <root> <File> a.txt <Version> 1.5 </Version> </File> <File> b.txt <Version> 1.0 </Version> </File> </root> a、 文本 1.5 b、 文本 1 如何获取XElement的句柄: 1.0按搜索?
<root>
<File> a.txt
<Version> 1.5 </Version>
</File>
<File> b.txt
<Version> 1.0 </Version>
</File>
</root>
a、 文本
1.5
b、 文本
1
如何获取XElement的句柄:
1.0
按搜索?
我知道我可以使用函数XElement.element(Xname)
但是这对我没有帮助。你想要一个版本的列表吗?给你
XDocument doc=XDocument.Load(yourXML);
List<string> lst=doc.Descendants()
.Elements("Version")
.Select(x=>x.Value).ToList();
XDocument doc=XDocument.Load(yourXML);
列表lst=文档子体()
.要素(“版本”)
.Select(x=>x.Value).ToList();
你的问题不清楚,所以我会尽我所能回答
如果您想获得版本的列表
s,那么这个代码就足够了
var versions = xDoc.Descendants("Version").ToList();
如果您想从xml中提取其他信息,那么
var files = xDoc.Descendants("File")
.Select(f => new
{
File = f.Nodes().OfType<XText>().First().Value.Trim(),
Version = f.Element("Version").Value.Trim()
})
.ToList();
var files=xDoc.subjects(“文件”)
.选择(f=>new
{
File=f.Nodes().OfType().First().Value.Trim(),
Version=f.Element(“Version”).Value.Trim()
})
.ToList();
棘手的部分是获取文件名,例如
b.txt
,因为XElement文件的值也包含其子文件(版本
)的值),但这对我没有帮助
为什么?你的问题不清楚。处理一下代码>你想得到什么?请澄清你的问题!