XML createElement двойные кавычки DocumentBuilder API - PullRequest
0 голосов
/ 24 июня 2018

Я хотел бы создать файл XML с помощью Java-программы. Структура XML следующая

<PERSON transactionType="ADD">
   <AGE>30</AGE>
<PERSON>

Проблема в том, что я не могу добавить двойные кавычки в первый элемент (PERSON), так как это необходимо для моего SOAP-запроса. Я попытался найти много решений, но ничего не помогло.

Пример кода:

Element rootElement = doc.createElement("transactionType=\"ADD"\";);

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

SimpleXml может сделать это:

final SimpleXml simple = new SimpleXml();
final Element root =
    element("PERSON")
        .attribute("transactionType", "ADD")
        .child(element("AGE").text("30"));
System.out.println(simple.domToXml(root));

Будет выводить:

<PERSON transactionType="ADD"><AGE>30</AGE></PERSON>

Из центральных мавенов:

<dependency>
    <groupId>com.github.codemonstur</groupId>
    <artifactId>simplexml</artifactId>
    <version>1.4.0</version>
</dependency>
0 голосов
/ 24 июня 2018

Вы должны установить transationType в качестве атрибута.

Element rootElement = doc.createElement("PERSON");
Attr attr = doc.createAttribute("transactionType");
attr.setValue("ADD");
rootElement.setAttributeNode(attr);

Примечание: оно будет заключено в двойные кавычки автоматически.

...