Добавить тег в xml без изменения других тегов javax. xml - PullRequest
0 голосов
/ 13 июля 2020

Я пробую тег в XML, он добавлен, но другие теги меняют значение.

Пример: Источник xml

    <G_31>
      <NAME Pref="1-">water , alalal &#10;xxxx, xxxxx 9420xx, xxxx.xxxx. 2376xxx (xxx xxxxxx &#10;x xxxxxxx 2324.79xx): &#13;&#10;</NAME>
      <FIRMA Pref="xxxxxx.:"> xxxx xxxxx, x.x., xxxx xxxxx x.x. </FIRMA>
      <TM Pref="(ТМ)">  xxxxx&#13;&#10;</TM>
      <PL Pref="2-"></PL>
      <PLACE>6 </PLACE>
      <PLACE2>(1-xxxxx xxxxx), xx-785, xx 6 xxxxxxxxx/PX&#13;&#10;</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&#13;
</TM>
      <PL Pref="2-"/>
      <PLACE>1</PLACE>
      <PLACE2>, xx-785, xx 6 xxxx/PX&#13;
</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 без сдачи другое?

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