如何比较两个XML节点结构Delphi

前端之家收集整理的这篇文章主要介绍了如何比较两个XML节点结构Delphi前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法在Delphi中比较两个xml节点?

我正在使用MSXML解析器并将xml加载到IXmlDOMDocument2中.节点存储在IXmlDOMNode中.

如果有帮助的话,我可以使用Delphi的TXMLDocument.我不想下载任何第三方组件.

我只是想比较节点的结构,而不是值.

我看到Java的类似帖子/实用程序,但Delphi没有.

谢谢!

解决方法

由于您只想比较结构,因此可以将节点转换为“完整路径”并将它们作为字符串进行比较.

例如.让我们假设树木:

树A.

Root -> Node1 -> Child1
              -> Child2
     -> Node2

树B

Root -> Node1 -> Child1
     -> Node2

从转换为“完整路径”,您将得到:

树A.

Root
Root\Node1
Root\Node1\Child1
Root\Node1\Child2
Root\Node2

树B

Root
Root\Node1
Root\Node1\Child1
Root\Node2

通过迭代完整路径列表,您可以快速检查并比较它们是否存在于另一个树中.您还可以轻松找到树上的节点.

猜你在找的XML相关文章