¿cómo actualizar dinámicamente el archivo xml de otro archivo xml?

Me gustaría actualizar un archivo xml de otro archivo xml. He utilizado un archivo xml como se muestra a continuación:

one.xml

         

two.xml de la siguiente manera:

       

de los dos archivos xml anteriores me gustaría cambiar el valor del atributo uno. xml cuando si

   

desde two.xml luego me gustaría actualizar el archivo one.xml como donde LinearLayout android: id = “@ + id / linearLayout1” y luego cambiar el valor del atributo como android: visibility = “gone” .

Aquí está el código que quieres que sea

  DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.parse("/home/riddhish/developerworkspace/SplitString/src/com/updatexmlwithjava/two.xml"); DocumentTraversal traversal = (DocumentTraversal) doc; Node a = doc.getDocumentElement(); NodeIterator iterator = traversal.createNodeIterator(a, NodeFilter.SHOW_ELEMENT, null, true); 

/ ** * Lógica para verificar ** /

 boolean flag=false; for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { Element e = (Element) n; if ("int".equals(e.getTagName())) { if(e.getAttribute("name").equals("linearLayout1")){ if(e.getAttribute("value").equals("8")) flag=true; } } } 

/ ** * Lógica para leer one.xml y establecer android: visibility = “gone” ** /

 docFactory = DocumentBuilderFactory.newInstance(); docBuilder = docFactory.newDocumentBuilder(); doc = docBuilder.parse("/home/riddhish/developerworkspace/SplitString/src/com/updatexmlwithjava/one.xml"); traversal = (DocumentTraversal) doc; a = doc.getDocumentElement(); iterator = traversal.createNodeIterator(a, NodeFilter.SHOW_ELEMENT, null, true); for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { Element e = (Element) n; if ("LinearLayout".equals(e.getTagName())) { if(e.getAttribute("android:id").equals("@+id/linearLayout1")){ if(flag==true){ System.out.println(""+e.getAttribute("android:visibility")); e.setAttribute("android:visibility", "gone"); } } } } 

/ ** * Lógica para reescribir one.xml ** /

 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("/home/riddhish/developerworkspace/SplitString/src/com/updatexmlwithjava/one.xml")); iterator = traversal.createNodeIterator(a, NodeFilter.SHOW_ELEMENT, null, true); doc = docBuilder.newDocument(); Element rootElement = doc.createElement("ScrollView"); doc.appendChild(rootElement); for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { rootElement.appendChild(doc.importNode(n, true)); } transformer.transform(source, result);