【发布时间】:2011-09-23 23:36:42
【问题描述】:
我有以下方法,它采用 org.w3c.dom.Document 并生成绝对 xpath 字符串。
我注意到浏览页面上的数百个元素需要很长时间。
有没有什么办法可以加快速度,或者有什么不同的方法?
重要提示:我只得到 org.w3c.dom 文件
public String getElementXpath(DOMElement elt){
String path = "";
for (Node fib = (Node) elt; fib != null; fib = fib.getParentNode()){
if (fib.getNodeType() == Node.ELEMENT_NODE){
DOMElement thisparent = (DOMElement) fib;
int idx = getElementIdx(thisparent);
String xname = thisparent.getTagName();
if (idx >= 1) xname += "[" + idx + "]";
path = "/" + xname + path;
}
}
return path;
}
private int getElementIdx(DOMElement elt) {
int count = 1;
for (Node sib = elt.getPreviousSibling(); sib != null; sib = sib.getPreviousSibling())
{
if (sib.getNodeType() == Node.ELEMENT_NODE){
DOMElement thiselement = (DOMElement) sib;
if(thiselement.getTagName().equals(elt.getTagName())){
count++;
}
}
}
return count;
}
【问题讨论】:
标签: java dom xpath domdocument