我有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>C1</ShowParentTerm>
</Tab>
<Tab Title="D to E" Order="2">
<ShowParentTerm>D</ShowParentTerm>
<ShowParentTerm>E</ShowParentTerm>
</Tab>
</Tabs>
</MetadataFormConfig>
</Config>
我希望按顺序获取标签元素。如果我改变标签Title =“A to c”命令为2然后我想首先得到节点“D到E”然后“A到C”
任何人都可以帮我怎么做?
答案 0 :(得分:4)
您可以使用LINQ to XML执行此操作:
XDocument doc = XDocument.Load(@"test.xml");
var tabs = doc.Descendants("Tab")
.OrderBy(t => Convert.ToInt32(t.Attribute("Order").Value))
.ToList();
这将选择按Order
属性的值排序的标签元素列表。