是否有一些javaScript实现来处理XML数据之间的增量?
重点是检测差异的存在,改变的内容无关紧要:attribute or node value.
要求如下:
以下是它应该如何工作的示例:
XML#1:
<node id="0">
<node id="1">
<node id="4">
<node id="23">DATA</data>
</node>
<node id="5">DATA</node>
</node>
</node>
XML#2:
<node id="0">
<node id="1">
<node id="3">
<node id="342">DATA</data>
</node>
<node id="5" some_attribute="attr"/>
</node>
<node id="6"/>
</node >
因此结果如下:
<result>
<added>
<id>6</id>
<id>3</id>
<id>342</id>
</added>
<updated>
<id>5</id>
</updated>
<removed>
<id>4</id>
<id>23</id>
</removed>
</result>
答案 0 :(得分:0)
我不是XSLT
的大用户,但我相信如果您熟悉它,我可以用它来实现您想要做的事情。也许您应该尝试在问题中添加标签。
以下XSLT
文件取自http://msdn.microsoft.com/en-us/magazine/cc164169.aspx,据说会合并两份文件,但我怀疑它会像你想要的那样彻底:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Container>
<xsl:copy-of select="document('product.xml')"/>
<xsl:copy-of select="document('material.xml')"/>
</Container>
</xsl:template>
</xsl:stylesheet>
该页面上的示例适用于.NET
,但Internet Explorer可以访问许多MSXML ActiveX控件,如果不要求跨浏览器兼容性,这些控件可能会提供您需要的功能。