是否有一种方法可以在 Xml 语句上定义相等性,以使这三个语句相同(忽略空格、参数和标签顺序)?
1:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<url>http://maven.apache.org</url>
</project>
2:
<project>
<modelVersion>4.0.0</modelVersion>
<url>http://maven.apache.org</url>
<groupId>com</groupId>
</project>
3:
<project>
<modelVersion>4.0.0</modelVersion>
<url>http://maven.apache.org</url>
<groupId>com</groupId>
</project>
例如,xml没有帮助,因为 Content
上没有 Eq
实例.
此外,xml-conduit也不可用,因为 Element
包含List
中的所有节点元素。它对空格也很敏感。
有许多库可以使用 xml
,包括 HXT
,但很难找到可用的库。
最佳答案
将 XML 解析为类似于以下的结构:
data Tree = TreeNode (Set Tree) | LeafNode String deriving Eq
这将问题简化为集合和字符串上的相等。
关于xml - 定义 xml 的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12271777/