是否有一些 javaScript 实现来处理 XML 数据之间的增量?
重点是检测差异的存在,改变什么并不重要:attribute or node value.
要求如下:
- 每个节点都有唯一的 id(这是为查找更多候选库所做的简化之一)
- 应在节点、属性和节点值中检查增量
- 支持多达 3 个级别的 XML 节点层次结构
- 计算结果也应该是 XML(参见示例),但它可以是 3 个添加、更新和删除节点的数组
- 忽略增量计算中的一些子节点,例如我只想跟踪 3 级层次结构,而不是更多
- 更改检测不应传播到上层节点,因此例如子节点更改不应使父节点更新
这是它应该如何工作的示例:
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>