Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java xml节点属性的修改[通俗易懂]

Java xml节点属性的修改[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-09-13 09:48:41
发布于 2022-09-13 09:48:41
2K0
举报

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

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文件修改成功。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文