【问题标题】:How to loop all XML attributes without knowing the element如何在不知道元素的情况下循环所有 XML 属性
【发布时间】:2017-05-01 22:16:01
【问题描述】:

如何在不知道元素名称的情况下循环所有 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 标签。

那么我如何循环使用它的属性。谢谢

【问题讨论】:

标签: c# xml


【解决方案1】:

只需从 Descendants() 中省略 "para" 参数 - 这将获得所有后代元素。然后您可以调用Attributes()(在这种情况下是IEnumerable&lt;XElement&gt; 的扩展方法)来获取所有这些元素的所有属性。

var allAttributes = doc.Descendants().Attributes().ToList();

【讨论】:

    猜你喜欢
    • 2015-03-23
    • 2020-03-13
    • 1970-01-01
    • 2021-01-27
    • 2023-03-05
    • 2019-09-21
    • 2016-04-20
    • 1970-01-01
    • 2018-03-21
    相关资源
    最近更新 更多