[英]get node from xml in c#
我有一个xml文件,例如:
<?xml version="1.0" encoding="utf-8"?>
<Config>
<MetadataFormConfig FieldInternalName="Test">
<Tabs>
<Tab Title="A to C" Order="1">
<ShowParentTerm>A</ShowParentTerm>
<ShowParentTerm>B</ShowParentTerm>
<ShowParentTerm>C</ShowParentTerm>
</Tab>
<Tab Title="D to E" Order="2">
<ShowParentTerm>D</ShowParentTerm>
<ShowParentTerm>E</ShowParentTerm>
</Tab>
</Tabs>
</MetadataFormConfig>
</Config>
我想通过FieldInternalName获取所有节点。
可以给我一种方法吗?
您可以使用SelectNodes("/Config/MetadataFormConfig[@FieldInternalName='Test']")
检查有关SelectNodes的详细信息
Linq版本,用于通过FieldInternalName获取所有节点。
// Loading from a file, you can also load from a stream
XDocument loaded = XDocument.Load(@"d:\test.xml");
// Query the data
var query = from c in loaded.Descendants("MetadataFormConfig")
where (string)c.Attribute("FieldInternalName") == "Test"
select c;
您可以测试自己的xpath表达式并对其进行优化,直到获得所需的结果为止,在线上有很多XPATH测试仪,例如,这里是一个: http : //www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm
只需去那里,从上面粘贴xml片段,然后使用XPATH,直到获得所需的东西即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.