我有一段代码,处理这样一件事.
针对一个XML里的符合条件的子节点(多个),将其下的子节点清空,再从模板XML中读入节点,将其加入.(就是将模板XML的内容替换入符合条件的子节点)
在进行批量处理时,产生了一个问题,就是我的处理结果中,只有最后一个符合条件的节点正常保存,而之前的符合条件的节点,只被清空了,而没有替换入模板.(根据跟踪,发现替换过程的确进行了,但没有最后保存)代码: Root.ChildNodes[i].ChildNodes['aaa'].ChildNodes.Clear;//清空原子节点
for j:=0 to ModelRoot.ChildNodes.Count-1 do
begin
Root.ChildNodes[i].ChildNodes['aaa'].ChildNodes.Add(ModelRoot.ChildNodes[j]); //填入模板节点
end;原XML内容:
<row>
<id> 1 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 2 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 3 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 4 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 5 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>需要修改的id为 2 3 4
模板
<root>
<b2> yy </b2>
</root>现在的结果是:
<row>
<id> 1 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 2 </id>
<aaa>
</aaa>
</row>
<row>
<id> 3 </id>
<aaa>
</aaa>
</row>
<row>
<id> 4 </id>
<aaa>
<b2> yy </b2>
</aaa>
</row>
<row>
<id> 5 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>可以看到4是正确的,2和3都被清空了 aaa 节点,但没有替换进模板.请问这个问题该怎么处理?谢谢
针对一个XML里的符合条件的子节点(多个),将其下的子节点清空,再从模板XML中读入节点,将其加入.(就是将模板XML的内容替换入符合条件的子节点)
在进行批量处理时,产生了一个问题,就是我的处理结果中,只有最后一个符合条件的节点正常保存,而之前的符合条件的节点,只被清空了,而没有替换入模板.(根据跟踪,发现替换过程的确进行了,但没有最后保存)代码: Root.ChildNodes[i].ChildNodes['aaa'].ChildNodes.Clear;//清空原子节点
for j:=0 to ModelRoot.ChildNodes.Count-1 do
begin
Root.ChildNodes[i].ChildNodes['aaa'].ChildNodes.Add(ModelRoot.ChildNodes[j]); //填入模板节点
end;原XML内容:
<row>
<id> 1 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 2 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 3 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 4 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 5 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>需要修改的id为 2 3 4
模板
<root>
<b2> yy </b2>
</root>现在的结果是:
<row>
<id> 1 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>
<row>
<id> 2 </id>
<aaa>
</aaa>
</row>
<row>
<id> 3 </id>
<aaa>
</aaa>
</row>
<row>
<id> 4 </id>
<aaa>
<b2> yy </b2>
</aaa>
</row>
<row>
<id> 5 </id>
<aaa>
<a1> xx </a1>
</aaa>
</row>可以看到4是正确的,2和3都被清空了 aaa 节点,但没有替换进模板.请问这个问题该怎么处理?谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货