大家好,又见面了,我是你们的朋友全栈君。
修改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文件修改成功。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162502.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有