2009-09-30 66 views
0

我基本上采取fileA.xml,从文件的完全不同的部分抓取节点,并在fileB.xml中构建一个新的树。相对路径现在有点令人困惑,因为一旦我到达一个嵌套3的节点,并且我需要添加另一个节点,这个节点从一个完全不同的分支嵌套4下来,我开始需要全局xpaths。XPath/XSLT优化?

问题是,这是更好的表现?相对路径或全局路径?

 
1) node3 (when I'm in node1/node2) 
2) /node1/node2/node3 


<node1a> <node2a> <node3a/> <node3a/> <node3a/> </node2a> <node2b> <node3b> <node4b/> </node3b> </node2b> </node1a>

<!-- the above is rearranged to this --> <node1a> <node4b/> <node3a/> <node3a/> <node3a/> </node1a>

FileA.xml将始终具有相同的结构,和的XSLT的可重用性是不是一个问题。那么我应该使用全局路径吗?

否则有太多的上下文来跟踪它似乎。

非常感谢, 兰斯

回答

1

我不是专家,但不使用*或//运算符的相对路径和全局路径应该具有相同的性能。

1

我说不要担心现在它。如果您的XML文件变得足够大以至于不重要,那么您可能最终不会最终使用XPath,因为它需要将整个文档加载到内存中。

3

对于一个微不足道的实现,涉及元素名称的每个步骤都是一个字符串查找;所以越少越好。否则,它非常依赖于实现。相对路径也更加惯用。