我在这里有一个关于XML文件的小问题。我正在编写一个程序,它读取XML文档并将信息用于其他目的。
我还在写阅读部分。读取XML并不是很难,但遗憾的是,创建这些XML文件的程序存在一些缺陷。它有时会创建仅包含子节点“Count1”的节点,但没有别的。子节点也是空的。
我编写了一个例程,它将遍历所有节点并计算子节点和元素的数量,这样我就可以找出哪些节点是空的并删除它们。
问题是,有时(几乎)空节点与非空节点具有相同的名称。在这种情况下,它会删除包含信息的错误节点。
所以我需要的是一种在删除之前找出该节点中有多少元素的方法。我可以很容易地找到一个符合.SelectSingleNode()名称的节点,但它只找到具有该名称的第一个元素,我无法切换到下一个。
您是否知道如何遍历一个名称的节点并仅删除我想要的节点?
告诉我您是否需要任何代码或XMl示例。
欢呼声
乔纳森
答案 0 :(得分:2)
您可以尝试使用.SelectNodes()
而不是.SelectSingleNode()
,这样您就可以遍历返回的所有节点并检查每个节点的状况并采取相应的操作。
如果您可以发布XML的简明样本和您拥有的C#代码的相关部分,可能有一个不同的建议更适合您的情况(我想检查空节点,如您所说可以完成仅在XPath中。