xml赋值功能的求教
现在有两个XML串xml1,xml2想把xml2的值赋给相应的xml1
例子
xml1
<root>
<r> <a p= "A1 "> 1 </a> <a p= "A2 "> 2 </a> <a p= "A3 "> 3 </a> <a p= "A4 "> 4 </a> </r>
</root>
xml2
<root>
<r> <a p= "A3 "> 8 </a> <a p= "A4 "> 9 </a> </r>
</root>
结果
<root>
<r> <a p= "A1 "> 1 </a> <a p= "A2 "> 2 </a> <a p= "A3 "> 8 </a> <a p= "A4 "> 9 </a> </r>
</root>
有会知道如何实现
我现在想用一个现成的方法来实现不想通过selectNodes做循环来实现
有会的大哥请赐教一下
[解决办法]
偶要分,呵呵!不知你的编程环境,偶喜欢用javascript,比较直观。完全按照你的思路来写的代码。js不方便写文件,自己按思路用服务端语言改一下吧。
<script>
var a = new ActiveXObject( "Msxml2.DOMDocument ")
a.async=false
a.load( "xml1.xml ")
var b = new ActiveXObject( "Msxml2.DOMDocument ")
b.async=false
b.load( "xml2.xml ")
var o2 = b.selectNodes( "//a ");
for(i=0;i <o2.length;i++){
var txt = o2[i].attributes[0].text;
var xp = "//a[@p= ' "+txt+ " '] "
var o1 = a.selectSingleNode(xp);
if(o1)o1.parentNode.replaceChild(o2[i],o1);
}
alert(a.xml)
</script>
[解决办法]
用一个xsl
引入两个xml
这样,就不存在“一个xml给另一个xml传值”的问题?了。
[解决办法]
楼主的前提是xml串,如果我没理解错的话应该指的是字符串流..不是物理文件. 而目前xslt最让人讨厌的是参数引入时没办法将字符串流引入后又当xml文档节点树来访问.