我已经将一个 xml 文件反序列化为一个 C# 对象,并且有一个包含我从该文件中选择的特定节点的“对象”。
我需要检查这个节点是否有子节点。我在任何给定时间都不知道对象的具体类型。
目前我只是将对象重新序列化为一个字符串,并在检查 HasChildNodes 属性之前将其加载到 XmlDocument 中,但是当我有数千个节点要检查时,这会占用大量资源并且速度很慢。
谁能想到一种更好的方法来检查我拥有的对象是否包含子节点?
非常感谢:)
最佳答案
尝试使用 Linq2xml,它有一个名为 XElement(或 XDocument)的类,它比 XmlDocument 更容易使用。 像这样:
XElement x = XElement.Load("myfile.xml");
if (x.Nodes.Count() > 0)
{
// do whatever
}
更少的代码,更流畅,更易读。 如果您已经将 xml 作为字符串,则可以将 Load 替换为 Parse 函数。
关于c# - 反序列化的 xml - 在不知道特定类型的情况下检查是否有子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2499707/