使用Dom4J 解析字符串,判断某元素下级是否有某个标签问题
解析XML 有什么好方法判断某个下面是否有这个元素
Document doc = DocumentHelper.parseText(xml);
Element body = doc.getRootElement();
在这里判断下面是否有有没有username
Element username = body.element("username");
或者有其他好的操作XML方法也行
需要输入一个特定格式的XML 字符串,大概方法是functionName(String xmlString)
虽然特定格式,但是不确定某个非关键的标签有没有。
那个输入的字符串不会很大。
复制过来的就算了。。。 java xml dom
[解决办法]
迭代应该可以的啊
[解决办法]
public static List getElementsByName(Document document, String name) {
List list = document.selectNodes("//" + name);
return list;
}
import org.dom4j.*;
import org.dom4j.io.SAXReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class XmlAndXPath {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read("/Users/Biao/Desktop/feature.xml");
List<String> ids = new ArrayList<String>();
XPath xpathSelector = DocumentHelper.createXPath("//plugin[@id]");
List nodes = xpathSelector.selectNodes(doc);
for (Object obj : nodes) {
Element n = (Element) obj;
ids.add(n.attribute("id").getText());
}
Collections.sort(ids);
for (String id : ids) {
System.out.println(id);
}
}
}