Я хава в XML-строку, которая выглядит следующим образом:Добавить корневой элемент XML в Java
<?xml version="1.0" encoding="UTF-8"?>
<id>500404</id>
<parentid>0</parentid>
<version>1</version>
<nodes>
<id>1015252</id>
<category>NODE</category>
<modified>false</modified>
<X>80</X>
<Y>30</Y>
</nodes>
Я хочу изменить его программно путем добавления тега корневого узла под названием «модель». Я попытался разобрать строку с помощью DOM, прочитать все дочерние узлы, а затем создать новый xml-документ типа Document
с корневым узлом, который называется «моделью», который имеет дочерние узлы все узлы XML-строки, которые у меня уже есть. Но это дает мне следующее исключение: Разметка в документе, следующем за корневым элементом, должна быть хорошо сформирована.
Мой код до сих пор:
String xmlString = "XML GOES HERE"
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource inputstream = new InputSource(new StringReader(
xmlString));
Document doc = builder.parse(inputstream);
NodeList nodes = doc.getChildNodes();
Document doc2 = docBuilder.newDocument();
Element rootElement = doc2.createElement("model");
doc2.appendChild(rootElement);
for (int k = 0; k < nodes.getLength(); k++)
{
Node childn = nodes.item(k);
rootElement.appendChild(childn);
}
Любая помощь, пожалуйста?
Оригинал не XML - поскольку он не имеет корня, поэтому XML-анализатор XML не может его прочитать - вам придется использовать простые текстовые инструменты (мой обычный комментарий к этому вопросу - попросить отправителя этого файла отправить действительный XML-файл - это их ошибка) – Mark