Java Doc Transformer переупорядочивает xml

В java я прочитал файл xml, добавил атрибут и значение и написал и xml обратно в файл.

Проблема, с которой я сталкиваюсь, заключается в том, что преобразователь документов переупорядочивает мой xml.

Пример:

Оригинал

   <Valve lassName = "AccessLogValveAdapter" directory = "access_logs"  prefix = "localhost." suffix = ".log" pattern='%v %h %t "%r" %s %B %T "%{User-Agent}i"'/>

Изменено

   <Valve className = "AccessLogValveAdapter" directory = "access_logs" pattern = "%v %h %t "%r" %s %B %T "%{User-Agent}i"" prefix = "localhost." suffix = ".log"/>

Вот мой код:

    boolean returnValue = false;
    String methodName = "docTransFormer() ";
    File file = new File(filePath);
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = null;
    try
    {
        transformer = transformerFactory.newTransformer();
        DOMSource source = new DOMSource(doc);

        StreamResult result = new StreamResult(file.getPath());
        transformer.transform(source, result);
        returnValue = true;
    }
    catch (TransformerConfigurationException e)
    {
        logger.info(EXCEPTIONCAUGHT + methodName + e.getMessage());
    }
    catch (TransformerException e)
    {
        logger.info(EXCEPTIONCAUGHT + methodName + e.getMessage());
    }
    return returnValue;
}

Любые идеи, как я могу сохранить это в исходном формате?

Почему так важно, в каком порядке перечислены атрибуты? Кроме того, добавьте исходный полный XML-код и результирующий новый XML-код, потому что есть некоторые проблемы с кавычками значений атрибутов.

Progman 25.02.2019 21:02

Довольно сложно сравнивать файлы после того, как я их изменил. Как-нибудь обойти это?

user1158745 28.02.2019 20:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
26
0

Другие вопросы по теме