如何查询 xml 文档以返回特定元素的子元素/属性列表。
var entry = from item in doc.Descendants("GROUP")
where (string)item.Attribute("meetsMark") == "1"
select new
{
code = (string)item.Attribute("code"),
};
以上仅返回属于元素 GROUP 的条目,其中 meetMark 属性为“1”。对于它返回代码的每个元素,我还需要获取它包含的每个SUMMARY属性的“总和”和“数字”列表。示例:我需要查询返回:
代码 = 次要
总和 = SUM1
数字 = 1
总和 = SUM3
数字 = 3
总和 = SUM4
数字 = 4
代码=第三
总和 = SUM10
数字 = 1
总和 = SUM30
数字 = 3
总和 = SUM40
数字 = 4
下面是xml结构。
<GROUP id="GRP2" code="MAIN" meetsMark="0" <GROUP id="GRP3" code="SECONDARY" meetsMark="1" <ITEMS> <ITEM id="ITM6" <SUMMARY sum="SUM1" number="1" </SUMMARY> </ITEM> <ITEM id="ITM14" <SUMMARY sum="SUM3" number="3" </SUMMARY> </ITEM> <ITEM id="ITM15" <SUMMARY sum="SUM4" number="4" </SUMMARY> </ITEM> </ITEMS> </GROUP> <GROUP id="GRP4" code="THIRD" meetsMark="1" <ITEMS> <ITEM id="ITM95" <SUMMARY sum="SUM10" number="1" </SUMMARY> </ITEM> <ITEM id="ITM96" <SUMMARY sum="SUM30" number="3" </SUMMARY> </ITEM> <ITEM id="ITM97" <SUMMARY sum="SUM40" number="4" </SUMMARY> </ITEM> </ITEMS> </GROUP> </GROUP>