Java xml 添加节点

2022-09-16 12:42:11 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

建立一个xml文件test.xml,文件内容如下

<?xml version=”1.0″ encoding=”GB2312″ standalone=”no”?><PhoneInfo> </PhoneInfo>

通过java操作生成xml节点的文件test.java,文件内容:

package com.pb.test; import java.io.FileOutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; 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; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Test {

public static void main(String[] args) { try { // 1.得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // 2.从DOM工厂里获取DOM解析器 DocumentBuilder db = dbf.newDocumentBuilder(); // 3.解析XML文档,得到document,即DOM树 Document doc = db.parse(“src/test.xml”); // 创建节点 Element brandElement = doc.createElement(“Brand”); brandElement.setAttribute(“name”, “华为”); //创建type节点 Element typeElement=doc.createElement(“Type”); typeElement.setAttribute(“name”, “U8650”); //添加父子关系 brandElement.appendChild(typeElement); Element phoneElement=(Element)doc.getElementsByTagName(“PhoneInfo”).item(0); phoneElement.appendChild(brandElement); //保存xml文件 TransformerFactory transformerFactory=TransformerFactory.newInstance(); Transformer transformer=transformerFactory.newTransformer(); DOMSource domSource=new DOMSource(doc); //设置编码类型 transformer.setOutputProperty(OutputKeys.ENCODING, “GB2312”); StreamResult result=new StreamResult(new FileOutputStream(“src/test.xml”)); //把DOM树转换为xml文件 transformer.transform(domSource, result); } catch (Exception ex) { System.out.println(ex.getMessage()); } } }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162484.html原文链接:https://javaforall.cn

0 人点赞