<test>
<name id="AA_123">
</name>
<name id="AA_456">
</name>
<name id="BB_123">
</name>
</test>List list = doc.selectNodes("/test/name");
我希望这个list找到name节点的所有id为AA_开头的节点
<name id="AA_123">
</name>
<name id="AA_456">
</name>
<name id="BB_123">
</name>
</test>List list = doc.selectNodes("/test/name");
我希望这个list找到name节点的所有id为AA_开头的节点
难道它还支持regex
Element element = (Element)iter.next();
String attribute = element.getAttribute("id");
if (attribute.substring(0,3).equals("AA_")){
iter.remove();
}
}
Iterator it = nodes.iterator();
while(it.hasNext()){
Node n = (Node)it.next();
String v = n.valueOf("@id");
if(v.startsWith("AA_")){
System.out.println(v);
}
else
it.remove();
}
System.out.println(nodes.size());
List list = doc.selectNodes("/test/name[@db='AA']");
来实现只提取属性db的值为AA
却不知道怎么提取以AA开头的
看来只能采用上面的方法了
查阅了DOM4J关于XPATH的文档,好像没有
判断
找到AA开头的以后放入Vector逻辑很简单,实现也不麻烦
如果有更好的方法,学习
我都是这么用的
Iterator it = nodes.iterator();
while(it.hasNext()){
Node n = (Node)it.next();
String v = n.valueOf("@id");
if(v.startsWith("AA_")){
System.out.println(v);
}
else
it.remove();
}
System.out.println(nodes.size());
这个应该是正解