Я пробую тег в XML, он добавлен, но другие теги меняют значение.
Пример: Источник xml
<G_31>
<NAME Pref="1-">water , alalal xxxx, xxxxx 9420xx, xxxx.xxxx. 2376xxx (xxx xxxxxx x xxxxxxx 2324.79xx): </NAME>
<FIRMA Pref="xxxxxx.:"> xxxx xxxxx, x.x., xxxx xxxxx x.x. </FIRMA>
<TM Pref="(ТМ)"> xxxxx </TM>
<PL Pref="2-"></PL>
<PLACE>6 </PLACE>
<PLACE2>(1-xxxxx xxxxx), xx-785, xx 6 xxxxxxxxx/PX </PLACE2>
<TARA Pref="2.1-">xx</TARA>
</G_31>
После преобразования:
<G_31>
<NAME Pref="1-">xxxxxxxxxx x xxxxxxxx xxxxxx
xxxxxxx, xxxxx 2376xxx (xxx xxxx x xxxx 2324.79xx):
</NAME>
<FIRMA Pref="xxxxx.:"> xxxx xxxxx, x.x. </FIRMA>
<TM Pref="(ТМ)"> xxxxx
</TM>
<PL Pref="2-"/>
<PLACE>1</PLACE>
<PLACE2>, xx-785, xx 6 xxxx/PX
</PLACE2>
<TARA Pref="2.1-">xxx</TARA>
</G_31>
Я использую этот код (javax. xml):
public void changeXML(String fileName) {
File xmlFile = new File(filename);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = factory.newDocumentBuilder();
Document doc = builder.parse(xmlFile);
doc.getDocumentElement().normalize();
addElement(doc);
doc.getDocumentElement().normalize();
StringWriter writer = new StringWriter();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(writer);
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "cp1251");
transformer.transform(source, result);
String strResult = writer.toString();
System.out.println(strResult);
// addFileInAltaLoader(strResult, fileName.replaceAll("/", "_"));
System.out.println("XML changed!");
} catch (Exception exc) {
exc.printStackTrace();
}
}
Но это код удалил все (& # 10;) и добавил \ r \ n Как я могу добавить один тег в xml без сдачи другое?