Сравнение XML в Java и получение различий - PullRequest
0 голосов
/ 17 октября 2018

Я хочу использовать Java для сравнения двух XML-файлов.Я хочу знать разницу между ними и тем, что было добавлено / удалено из версии 1 в версию 2. Мне также важно, где что-то было добавлено или удалено.

Я не эксперт по программированию, поэтому мойПервая попытка состояла в том, чтобы использовать XMLUnit-Legacy, но решение было не таким уж хорошим.С этой библиотекой я получаю различия, но дело в том, что она не может точно сказать, что было добавлено или удалено.Он сравнивает две строки строка за строкой, но я хочу получить DOM-представление xml-файла и работать над ним.

Вот мой код, чтобы вы могли понять, что я сделал,far:

String content1 = new String(Files.readAllBytes(Paths.get("twoSubTwoClone.xml")));
    String content2 = new String(Files.readAllBytes(Paths.get("twoSubTwoClone2.xml")));
    Diff diff;

    try {
        diff = new Diff(content1, content2);
        DetailedDiff myDiff = new DetailedDiff(diff);
        List allDifferences = myDiff.getAllDifferences();
        for (int i = 0; i < allDifferences.size(); i++) {
            System.out.println(allDifferences.get(i));
        }
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

А потом я искал больше библиотек и нашел это: https://docs.oracle.com/database/121/ADXDK/adx_j_diff.htm#ADXDK129 ... что действительно многообещающе.Но я не знаю, как его использовать .. Нет никакого примера.

Так что мой вопрос:

  1. Кто-нибудь уже работал с XmlUtils?и можете сказать мне, что я должен программировать шаг за шагом?- Я знаю, это звучит глупо, но сейчас я действительно отчаялся, как его использовать.

  2. Есть ли еще способы достичь цели?- Другие библиотеки с примерами предоставлены?

Я хочу поблагодарить вас, ребята, заранее.

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