XML-разбор подтверждения Java - PullRequest
1 голос
/ 19 февраля 2011

это способ, которым я сделал файл 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 buider:

       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;
}

это стандартный способ выполнения XML для объекта Java?Я проверил, могу ли я получить доступ к объекту, и все работает нормально.(пока) Вы предлагаете другой подход?или этого достаточно?

1 Ответ

0 голосов
/ 19 февраля 2011

Я не знаю о "стандартном способе", но в любом случае мне кажется, что все в порядке.Первый способ выглядит проще (меньше кода), поэтому я бы так и сделал, если бы не было других факторов / требований.

FWIW, я ожидал, что метод unmarshal(File) был реализован дляв значительной степени то, что вы делаете в своем втором подходе.


Тем не менее, вы (и ваши коллеги) действительно должны выносить суждения о том, что «достаточно» для вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...