Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML解析java确认_Java_Xml_Parsing - Fatal编程技术网

XML解析java确认

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

这是我为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 = (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的这一伟大答案: