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

如何在C#中用XDocument显示Xml子元素名称?,c#,xml,wpf,linq,C#,Xml,Wpf,Linq,您好,我想使用linq和xdocument显示根节点的子节点的名称,但没有找到任何相同的内容。下面给出了我的xml <temp> <Movies> <Title>Man Of Steel</Title> <Title>Kung Fu Panda</Title> <Title>Thor</Title> </Movies> <Cars> <Ti

您好,我想使用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>

这段代码在控制台应用程序中工作,但当我试图在wpf应用程序中实现这一点,以便为这些类别创建radiobutton时,这段代码并没有显示任何内容。它显示空白。这就是我面临问题的原因。

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

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

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

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;
}
我希望这会有帮助。

你应该试试这个

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

我希望这会有所帮助。

您的代码已经显示了预期输出的电影和汽车。我不太明白你的问题是什么..重新检查输出是否正常工作以及你还需要什么。你的代码已经显示了电影和汽车,这是预期的输出。我不太明白你的问题是什么..重新检查输出是否工作正常--你还想要什么.啊!我犯了添加LocalName的错误。现在它工作得很好。谢谢,啊!我犯了添加LocalName的错误。现在它工作得很好。非常感谢。