我有一个 XML 示例:
<Fruits>
<Red_fruits>
<Red_fruits></Red_fruits>
</Red_fruits>
<Yellow_fruits>
<banana></banana>
</Yellow_fruits>
<Red_fruits>
<Red_fruits></Red_fruits>
</Red_fruits>
</Fruits>
我有 4 个 Red_fruits 标签,其中 2 个共享相同的 ParentNode(水果),我想获得那些具有相同 ParentNode 的标签。
但我只想要那些具有相同名称(Red_fruits)的,这意味着不包括 Yellow_fruits 标签。
这是我现在使用 C# 语言的方式:
XmlDocument doc = new XmlDocument();
string selectedTag = cmbX.text;
if (File.Exists(txtFile.text))
{
try
{
//Load
doc.Load(cmbFile.text);
//Select Nodes
XmlNodeList selectedNodeList = doc.SelectNodes(".//" + selectedTag);
}
Catch
{
MessageBox.show("Some error message here");
}
}
这会将所有 red_fruits 归还给我,而不仅仅是属于 Fruits 的那些。
我无法制作 XmlNodeList = doc.SelectNodes("/Fruits/Red_fruits") 因为我想使用此代码读取随机 XML 文件,所以我不知道特定节点的确切名称,我只需要使用 C# 语言将具有相同名称和相同级别的所有节点放入 XmlNodeList中。
有没有办法在不使用 LINQ 的情况下实现这一点?怎么做?