如何在 C# 中使用 XDocument 显示 Xml 子元素名称

本文关键字:Xml 显示 元素 XDocument | 更新日期: 2023-09-27 18:33:08

您好,我想使用 linq 和 xdocument 显示根节点的子节点的名称,但没有找到任何方便的东西。我的 xml 如下

<temp>
<Movies>
    <Title>Man Of Steel</Title>
    <Title>Kung Fu Panda</Title>
    <Title>Thor</Title>
</Movies>
<Cars>
    <Title>Racing</Title>
    <Title>Vintage</Title>
    <Title>Luxary</Title>
</Cars>
</temp>

预期输出为:

  1. 电影
  2. 汽车

你能帮帮我吗?我希望动态完成的另一件事是,这意味着从代码中我不想放置元素的名称。这是要用一些东西来完成的

XDocument xdoc = XDocument.Load("Folder.xml");
var element = xdoc.Root.Elements();
foreach(var a in element)
{
   Console.WriteLine(a.Name);
}
此代码

在控制台应用程序中工作,但是当我尝试在 wpf 应用程序中实现它以为这些类别创建单选按钮时,此代码在那里不显示任何内容。它显示空白。这就是我面临问题的原因。

如何在 C# 中使用 XDocument 显示 Xml 子元素名称

如果您实际上希望列出所有电影和汽车项目,请使用以下代码:

var xdoc = XDocument.Load("Folder.xml");
if (xdoc.Root != null)
{
    var element = xdoc.Root.Elements();
    foreach (var a in element)
    {
        Console.WriteLine(a.Name);
        foreach (var item in a.Elements())
        {
            Console.WriteLine("'t" + item.Value);
        }
    }
}

输出应为:

Movies
        Man Of Steel
        Kung Fu Panda
        Thor
Cars
        Racing
        Vintage
        Luxary

你应该试试这个

foreach(var a in element)
{
    RadioButton rdb = new RadioButton();
    rdb.content = a.Name.LocalName;
}

我希望这可能会有所帮助。