XML是严格区分大小写的,所以要想在获取元素时忽略大小写就必须事先知道真正的标签名;在获取元素时使用真正的标签名。
由于要事先获取所有的标签名,所以对于小型的XML文件性能要好。
用dom4j写的一个例子:
Map<String, String> map = new HashMap<String, String>();
Document doc = DocumentHelper.parseText(xml);
// 获取所有节点
List<Node> nodes = doc.selectNodes("//*");
for (Node node: nodes)
{
//保存节点名称
map.put(node.getName().toUpperCase(), node.getName());
}
//获取元素
List<Node> nodeList = doc.selectNodes("//resList//" + map.get("RES"));
由于要事先获取所有的标签名,所以对于小型的XML文件性能要好。