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

时间:2016-02-04 10:54:16

标签: c# xml wpf linq

您好我想使用linq和xdocument显示根节点的子节点的名称但是没有找到任何相同的方便的东西。我的xml在下面给出

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

预计出局是:

  1. 汽车
  2. 你能帮助我吗?还有一件事我希望这是动态完成的,这意味着从代码中我不想放置元素的名称。这是用某些东西来完成的

    Private Countries As New XPCollection(Of clCountry)(UOW)
    

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

你应该试试这个

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

我希望这可能有所帮助。