所有XML如何循环属性不知道元素
问题描述:
我怎么循环不知道该元素的名称所有XML如何循环属性不知道元素
这里所有的XML属性是我的示例XML
<dd l="11243" t="641" r="11653" b="1004">
<para l="11276" t="768" r="11620" b="941" alignment="left" spaceBefore="79" lsp="exactly" lspExact="273" language="en">
<ln l="11342" t="768" r="11554" b="941" baseLine="939" underlined="none" subsuperscript="none" fontSize="1250" fontFace="Times New Roman" fontFamily="roman" fontPitch="variable" spacing="19" foreColor="545766">
<wd l="11342" t="768" r="11554" b="941">
<ch l="11342" t="768" r="11453" b="936">4</ch>
<ch l="11472" t="768" r="11554" b="941" conf="10">3</ch>
</wd>
</ln>
</para>
</dd>
,这里是我的代码
XDocument columndoc = XDocument.Parse(reader);
foreach (var node in columndoc.Descendants("para").ToList())
{
}
但我不想循环所有元素并阅读它的l,t,r,b标签。
所以我如何循环使用它的属性。谢谢
答
只需省略Descendants()
的"para"
参数 - 即可获得所有后代元素。然后你可以调用Attributes()
(在这种情况下是IEnumerable<XElement>
的扩展方法)来获取所有这些元素的所有属性。
var allAttributes = doc.Descendants().Attributes().ToList();
+0
非常感谢你 –
您的预期结果是什么? – Jacky
使用像这张贴递归算法:http://*.com/questions/28976601/recursion-parsing-xml-file-with-attributes-into-treeview-c-sharp – jdweng