从XML文件显示特定的Node属性值

本文关键字:Node 属性 XML 文件 显示 | 更新日期: 2023-09-27 18:09:59

第一个也是最重要的请求是,如果你发现这是一个重复的请求,请引导我到正确的页面

我尝试了几个解决方案,但都不起作用。也许我在做蠢事。总之,我有点事。

这是我的XML格式:

<Root>
<MainFolder Name="Main">
    <Folder Name="Folder1">
        <Folder Name="SubFolder1">
            <File />
            <Folder Name="SubFolder2">
            </Folder>
        </Folder>
    </Folder>
    <Folder Name="Folder2">
        <Folder Name="SubFolder3">
            <File />
        </Folder>
    </Folder>
</MainFolder>
</Root>
问题是我想遍历XML并显示所有Folders标记的Name属性值。

到目前为止,我只能搜索并显示"Folder1"answers"Folder2"的结果。我不想遍历子文件夹

请帮帮我。提前谢谢。

我当前使用的代码示例:

XElement root = XElement.Load("File.xml");
var mainFolder = root.Element("Main");
foreach (var folder in mainFolder.Elements("Folder"))
{
    folderName[noOfFolders] = folder.Attribute("Name").Value;
    MessageBox.Show(folderName[noOfFolders]);
    foreach (var file in folder.Elements("File"))
    {
     ...
    }
}

如果你们需要更多信息,请告诉我。

从XML文件显示特定的Node属性值

根据上面对root的定义,应该是这样的:

foreach (var folderElement in root.Descendants("Folder"))
{
    Console.WriteLine(folderElement.Attribute("Name").Value);
}

Descendants()按文档顺序列出所有后代元素(即不只是immediate)。


Folder1
SubFolder1
SubFolder2
Folder2
SubFolder3
Press any key to continue . . .