谢谢各位打开这个帖子,我是一个大四学生,最近的一个project是做document mapping,具体的说就是在不同xml文件之间建立节点到节点的对应关系,比如A.xml和 B.xml现在我知道A里面哪些节点和B里面哪些节点是对应的(分别知道这些节点的xpath),所以我要写一个xsl文件,将B里面那些结点的值替换成为A里面相对应节点的值.但是我这两天看了一下,xslt是不能改变xml里面节点的值得,所以我现在具体的设想是想遍历B.xml然后用xsl:copy-of的方法把没有对应关系的节点复制过去,如果有对应关系的节点就从A里面复制过去,但是我对xslt不是很熟悉,不知道具体应该怎么操作,下面是一个简单的例子
A.xml<?xml version="1.0" encoding="UTF-8"?>
<wonder>
  <name>Great Wall</name>
  <location>China</location>
  <height>Not sure</height>
</wonder>B.xml
<?xml version="1.0" encoding="UTF-8"?><instance>
  <name>string</name>
  <country>string</location>
  <height>string</height>
</wonder>
比如上面的两个xml,我现在知道B里面的instance/country是对应A里面的wonder/location,所以我就要把B里面的instance/country的值换成A里面wonder/location的值,也就是China.
所以我希望得到的输出是下面这个样子的
out.xml
<?xml version="1.0" encoding="UTF-8"?><instance>
  <name>string</name>
  <country>China</location>
  <height>string</height>
</wonder>
这只是一个简单的例子,实际的文件会比较大,而且我希望这个xsl是在知道两个xml文件和其中结点的对应关系的情况下用java生成的.再一次,非常感谢大家的帮助