Tec*_*tiK 5 java xml parsing dom
我想将XML文档解析为Java中的DOM树,以便可以将树中的某些对象(例如org.w3c.dom.Node或的实例org.w3c.dom.Element)向下转换为我创建的类的实例,同时最大程度地减少所需的与XML相关的代码(重新)实施。作为一个(非常简单的)示例,如果我有一个XML元素,例如:
<Vector size="5">
1.0 -1.0 3.0 -2.73e2
</Vector>
Run Code Online (Sandbox Code Playgroud)
我想自定义解析器以实例化以下内容:
public class Vector extends /* some parser class */ {
private double[] elements;
/* constructors; etc.*/
public double dotProduct(Vector v) {
/* implementation */
}
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以将Vector解析器创建的实例传递给例如javax.xml.xpath对象的方法,并使它们正确工作。实现此目的的最快方法是什么?单独使用Java SE是否可能,还是需要第三方库(例如Xerces)?
我不确定您的要求是什么,但假设您可以控制 XML 的外观,我将使用XStream。它将允许您完全跳过所有 DOM 操作。
现在从他们的 2 分钟教程来看,它可能看起来不是为这个用例构建的,但实际上是这样。首先创建您的 Java 类,确保它们按照您希望的方式生成 XML,然后使用它将现有的 XML 作为 XStream 对象读回到您的程序中。这是一个使用起来非常愉快的库。