XML文件写入之DOM解析操作
发布时间:2020-12-16 08:54:32 所属栏目:百科 来源:网络整理
导读:DOM写入XML文件步骤如下: import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.OutputKeys;import javax.
DOM写入XML文件步骤如下: import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; public class XMLWriterTest { public static void main(String[] args) { //1.建立DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //2.建立DocumentBuilder DocumentBuilder builder= null; try { builder= factory.newDocumentBuilder(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } //3.建立Document接口对象 Document doc = null; doc=builder.newDocument(); //4.建立各个操作节点 Element addresslist = doc.createElement("addresslist"); Element linkman = doc.createElement("linkman"); Element name = doc.createElement("name"); Element tel = doc.createElement("tel"); //5.设置节点的文本内容,即为每一个节点创建已给文本节点 name.appendChild(doc.createTextNode("张大大"));//如果是存在多个name,这个问题如何解决??? tel.appendChild(doc.createTextNode("09876")); //6.设置节点的关系(从叶子节点开始设置关系) linkman.appendChild(name); linkman.appendChild(tel); addresslist.appendChild(linkman); doc.appendChild(addresslist);//文档上保存节点 //7.输出文档的内容 /** * TransformerFactory-->Transformer(设置编码,transform转换source->result) * DOMSource source = new DOMSource(doc) 输出文档 * StreamResult result = new StreamResult(new File("d:"+File.separator+"345.xml")) 指定输出位置 */ TransformerFactory tf = TransformerFactory.newInstance(); //创建TransformerFactory Transformer t = null; try { t = tf.newTransformer();//创建Transformer } catch (TransformerConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } t.setOutputProperty(OutputKeys.ENCODING,"utf-8");//设置编码 DOMSource source = new DOMSource(doc); //输出文档 StreamResult result = new StreamResult(new File("d:"+File.separator+"345.xml"));//指定输出位置 try { t.transform(source,result);//输出 } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |