XSL 1.0 到 find/replace 节点的最快方法
XSL 1.0 Fastest way to find/replace node
找到特定节点(有 id 或 class)最快的方法是什么
这很慢:
/html/body[contains(concat(' ',normalize-space(@class),' '),' fooclass ')]//div[@id = 'fooClass']
//div[@id = 'fooClass']
//div[@class = 'fooClass']
我有一个约 3000 行的 xsl,它需要大约 20-40 秒来呈现..
但是我怎样才能更快呢?
//div[@id = 'fooClass']
应该是最快的...
你可能会想到一把钥匙。像
<xsl:key name="MyKey" match="//div" use="@id"/>
您会在此处找到完全涵盖您的 "id" 问题的示例:http://www.w3schools.com/xsl/el_key.asp
如果您的 "id"-属性并不总是绑定到 "div"-标签,您可以将 match
设置为 match="//*"
,但是 - 考虑性能 - 你'会得到最好的结果,你可以定义越近的路径...
找到特定节点(有 id 或 class)最快的方法是什么
这很慢:
/html/body[contains(concat(' ',normalize-space(@class),' '),' fooclass ')]//div[@id = 'fooClass']
//div[@id = 'fooClass']
//div[@class = 'fooClass']
我有一个约 3000 行的 xsl,它需要大约 20-40 秒来呈现..
但是我怎样才能更快呢?
//div[@id = 'fooClass']
应该是最快的...
你可能会想到一把钥匙。像
<xsl:key name="MyKey" match="//div" use="@id"/>
您会在此处找到完全涵盖您的 "id" 问题的示例:http://www.w3schools.com/xsl/el_key.asp
如果您的 "id"-属性并不总是绑定到 "div"-标签,您可以将 match
设置为 match="//*"
,但是 - 考虑性能 - 你'会得到最好的结果,你可以定义越近的路径...