大家好,又见面了,我是你们的朋友全栈君。
Java xml节点属性的修改
修改xml节点的属性,我们先建立一个修改之前的xml文档:
<?xml version=”1.0″ encoding=”GB2312″ standalone=”no”?><PhoneInfo>
<Brand name=”苹果”><Type name=”U865440″/></Brand><Brand name=”苹果”><Type name=”U865440″/></Brand></PhoneInfo>
操作xml文档的java程序文件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”);
NodeList list=doc.getElementsByTagName(“Brand”);
for(int i=0;i<list.getLength();i++){
Element brandElement=(Element) list.item(i);
String brandName=brandElement.getAttribute(“name”);
if(brandName.equals(“苹果”)){
//属性修改
brandElement.setAttribute(“name”, “Apple”);
}
}
//保存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());
}
}
}
运行此程序后,xml文件内容变成:
<?xml version=”1.0″ encoding=”GB2312″ standalone=”no”?><PhoneInfo>
<Brand name=”Apple”><Type name=”U865440″/></Brand><Brand name=”Apple”><Type name=”U865440″/></Brand></PhoneInfo>
之前的Brand 内name属性苹果成功更改为Apple,表示xml文件修改成功。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162502.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...