Annonceindlæg fra COMM2IG
29. november 2003 - 18:57
#5
Kode: import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.FactoryConfigurationError; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import org.apache.xml.serialize.XMLSerializer; public class DomTest6 { private final static String XML_FILE = "C:\\domtest.xml"; public static void main(String[] args) { writeXml(XML_FILE); readXml(XML_FILE); } private static void writeXml(String filename) { try { PrintWriter pw = new PrintWriter(new FileOutputStream(filename)); pw.println("<?xml version='1.0' standalone='yes'?>"); pw.println("<list>"); pw.println("<elm>"); pw.println("<key>1</key>"); pw.println("<val>a</val>"); pw.println("</elm>"); pw.println("<elm>"); pw.println("<key>2</key>"); pw.println("<val>bb</val>"); pw.println("</elm>"); pw.println("<elm>"); pw.println("<key>3</key>"); pw.println("<val>ccc</val>"); pw.println("</elm>"); pw.println("</list>"); pw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } private static void readXml(String filename) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new File(filename)); NodeList elements = doc.getElementsByTagName("elm"); for (int i = 0; i < elements.getLength(); i++) { Node element = elements.item(i); NodeList subelements = element.getChildNodes(); for(int j = 0; j < subelements.getLength(); j++) { String tag = subelements.item(j).getNodeName(); if(tag.equals("val")) { if(subelements.item(j).getFirstChild().getNodeValue().equals("ccc")) { subelements.item(j).getFirstChild().setNodeValue("notccc"); } } } } XMLSerializer ser = new XMLSerializer(System.out, null); ser.serialize(doc.getDocumentElement()); } catch (FactoryConfigurationError e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return; } }