由于从xml元素获取文本内容需要15行代码(参见官方oracle教程)http://java.sun.com/webservices/reference/tutorials/jaxp/html/dom.html,所引用的教程本身表明,对于许多需要使用第三方工具:
“正如您所看到的,当您使用DOM时,即使是从节点获取文本等简单操作也可能需要一些编程。因此,如果您的程序处理简单的数据结构,那么JDOM,dom4j,甚至1.4正则表达式包(java.util.regex)可能更适合您的需要“
我尝试了建议的工具,它们相当容易使用和完成,但它们需要评估其开发的“活力”。这种评价并不明显 所以我的问题是:
1)是否有一个库可以简化基于标准dom的xml工作?它将确保具有更多可用性的官方图书馆的鲁棒性和最新性 2)在oracle计划中,这种“可用性”是否会以某种其他方式(也许是一些新的jsr?)得到解决?
答案 0 :(得分:2)
如果从XML元素中获取文本内容是您想要的,请使用XPath:
String xml = "<root><p>This is some text</p><p>And this is more text</p></root>";
XPath xpath = XPathFactory.newInstance().newXPath();
String text = xpath.evaluate("/root/p[1]", new InputSource(
new StringReader(xml)));
System.out.println(text);
如果要将Java对象映射到XML并返回,请使用JAXB。
XPath(1.0)和JAXB都是JDK的一部分,或者可以用更高版本替换它们。
但是,如果您尝试使用正则表达式解析XML,则 doomed !
答案 1 :(得分:0)
答案 2 :(得分:0)