XML解析java确认
这是我为Java对象创建XML文件的方式。 我使用了“xjc”和有效的XML模式,并返回了一些“生成的”*.java文件。 我在eclipse中将它们导入到另一个包中。 我现在以两种方式读取XML文件 1) 正在加载XML文件:XML解析java确认,java,xml,parsing,Java,Xml,Parsing,这是我为Java对象创建XML文件的方式。 我使用了“xjc”和有效的XML模式,并返回了一些“生成的”*.java文件。 我在eclipse中将它们导入到另一个包中。 我现在以两种方式读取XML文件 1) 正在加载XML文件: System.out.println("Using FILE approach:"); File f = new File ("C:\\test_XML_files\\complex.apx"); JAXBElement felement = (JAX
System.out.println("Using FILE approach:");
File f = new File ("C:\\test_XML_files\\complex.apx");
JAXBElement felement = (JAXBElement) u.unmarshal(f);
MyObject fmainMyObject = (MyObject) felement.getValue ();
2) 使用DOM构建器:
System.out.println("Using DOM BUILDER Approach:");
JAXBElement element = (JAXBElement) u.unmarshal(test());;
MyObject mainMyObject = (MyObject ) element.getValue ();
现在,在方法“test()”中包含以下代码:
public static Node test(){
Document document = parseXmlDom();
return document.getFirstChild();
}
private static Document parseXmlDom() {
Document document = null;
try {
// getting the default implementation of DOM builder
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
// parsing the XML file
document = builder.parse(new File("C:\\test_XML_files\\MyXML_FILE.apx"));
} catch (Exception e) {
// catching all exceptions
System.out.println();
System.out.println(e.toString());
}
return document;
}
这是对Java对象执行XML的标准方法吗?
我测试了是否可以访问该对象,并且一切正常。(至今)
您是否建议采用不同的方法??还是这一种就足够了?我不知道什么是“标准方式”,但我觉得这两种方式都可以。第一种方法看起来更简单(代码更少),所以我可能会这样做,除非有其他因素/需求
FWIW,我希望unmarshal(File)
方法的实现与您在第二种方法中所做的差不多
但是,您(和您的同事)可以判断什么对您的项目是“足够的”。有很多方法可以访问XML。至于JAXB,请查看——他们的示例包括您的两种方法和更多方法。您正在寻找DOM对象或Java XML绑定吗?请查看Voo的这一伟大答案: