java - XML解析java确认

标签 java xml parsing

这是我将 XML 文件创建为 Java 对象的方式。 我使用了“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) 方法来完成您在第二种方法中所做的事情。

<小时/>

但是,实际上由您(和您的同事)来判断什么对您的项目“足够”。

关于java - XML解析java确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5047727/

相关文章:

Ruby:将时间字符串转换为符合 xsd:datetime 的字符串?

python - 使用 Pyparsing 为上下文相关元素编写语法规则

java - Spring Boot 项目作为可执行 jar 运行时找不到 Hibernate.cfg.xml

java - android加速度计检测跳跃?

mysql - xcode 中数组为空

android - 改变涟漪效应的颜色

javascript - 格式化字符串到数组

node.js - NodeJS - 解析 CSV 文件

java - Android:FragmentManager 版本不匹配

java - 文本区 Jmeter 问题