|
这是读取xml文件的java程序,我调试好的。采用的是dom方式读取xml文件到Vector中。 package src; import java.io.*; import java.util.Vector; import javax.xml.parsers.*; import org.w3c.dom.*; public class readxml { static Document document; private boolean validating; public readxml() { } public Vector toRead(String filename) { Vector title=new Vector(); Vector content=new Vector(); String myStr=new String(); try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(validating); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse(new File(filename)); document.getDocumentElement().normalize(); Node node = document.getFirstChild(); NodeList list = node.getChildNodes(); for (int i = 0; i < list.getLength(); i++) { Node nodeitm = list.item(i); if (nodeitm.getNodeName().equals("Title")) { myStr=nodeitm.getFirstChild().getNodeValue(); title.addElement(myStr);//getFirstChild() } if (nodeitm.getNodeName().equals("Content")) { myStr=nodeitm.getFirstChild().getNodeValue(); content.addElement(myStr); } } } catch (Exception exp) { exp.printStackTrace(); return null; } Vector all=new Vector(); all.add(title); all.add(content); return all; } public static void main(String[] args) { Vector A; readxml my = new readxml(); A = my.toRead("f:\\tomcat5\\webapps\\myxml\\xmldata\\9.xml"); for (int i = 0; i < A.size(); i++) { System.out.println(A.elementAt(i)); } } } 这是将xml写入文件。其中,transformer.setOutputProperty(OutputKeys.ENCODING,"GB2312")关系到编码问题,非常重要。 import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; |