【深入JAVA】对xml节点添加属性

在阅读的过程中有任何问题,欢迎一起交流

邮箱:[email protected]   

QQ:1494713801

对xml中的节点<module name="test">添加属性节点为<module load="false" name="test">>

Java代码:

try {

builder = factory.newDocumentBuilder();

} catch (ParserConfigurationException e1) {

e1.printStackTrace();

}

try {

inputDocument = builder.parse(new File(strFilename));

outputDocument = builder.newDocument();

} catch (SAXException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

Node moduleNode = strModuleList.get(i); //找到要修改的节点moduleNode

if (moduleNode.getNodeType() == Node.ELEMENT_NODE) {

Element element = (Element) moduleNode;

element.setAttribute("load", "false");//设置属性load="false"

TransformerFactory factory = TransformerFactory.newInstance();

Transformer former;

try {

former = factory.newTransformer();

former.transform(new DOMSource(inputDocument), new StreamResult("xml文件路径"));

} catch (TransformerConfigurationException e) {

e.printStackTrace();

} catch (TransformerException e) {

e.printStackTrace();

}

}

((Element) moduleNode).setAttribute("load","false");

outputDocument.importNode(moduleNode, true);//写入xml文件

添加和删除属性

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

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;

public class domTest3 {

public static void main(String[] args) throws Exception {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse(new File("src/shuiguo.xml"));

createAttribute(doc);

removeAttribute(doc);

}

public static void removeAttribute(Document doc) throws Exception {

Node apple = doc.getElementsByTagName("苹果").item(0);

apple.getAttributes().removeNamedItem("id");

TransformerFactory factory = TransformerFactory.newInstance();

Transformer former = factory.newTransformer();

former.transform(new DOMSource(doc), new StreamResult(new File(

"src/shuiguo.xml")));

}

public static void createAttribute(Document doc) throws Exception {

Node orange = doc.getElementsByTagName("桔子").item(0);

if (orange.getNodeType() == Node.ELEMENT_NODE) {

Element element = (Element) orange;

element.setAttribute("id", "333");

TransformerFactory factory = TransformerFactory.newInstance();

Transformer former = factory.newTransformer();

former.transform(new DOMSource(doc), new StreamResult(new File(

"src/shuiguo.xml")));

}

}

}

参考链接:http://blog.csdn.net/sunkailu/article/details/8087305

时间: 2024-11-06 09:28:30

【深入JAVA】对xml节点添加属性的相关文章

java对xml节点属性的增删改查

学习本文之前请先看我的另一篇文章JAVA对XML节点的操作可以对XML操作有更好的了解. 1 package vastsum; 2 3 import java.io.File; 4 import java.io.FileWriter; 5 import java.util.Iterator; 6 7 import org.dom4j.Attribute; 8 import org.dom4j.Document; 9 import org.dom4j.Element; 10 import org.

JAVA“动态”为类添加属性

部分参考:http://www.cnblogs.com/zy2009/p/6725843.html pom.xml中添加: <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.3</version> </dependency> <dependenc

Java获取XML节点总结之读取XML文档节点

dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www.dom4j.org/dom4j-1.6.1/github下载:http://dom4j.github.io/下载解压之后如图所示: 我们只需要把dom4j-1.6.1.jar文件构建到我们开发项目中就可以了. 下面就以Eclipse创建java项目的构建方法为例说明:声明:本Java项目的开发环境J

详解SimpleXML添加_修改_删除_遍历XML节点属性

SimpleXML概述 要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制,对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构造为一棵DOM树,通过对DOM 树的遍历完成处理.这两种方法各有优缺点,SAX 的处理思路相对抽象,DOM 的处理过程相对烦琐,都不很适合新手的入门. PHP5 推出了一套新的XML 处理函数,即SimpleXML.名如其实,SimpleXML 本身小巧精干,只提供了少量的几个方法函数,但用它处理起XML 文件功

Dom4j向XML中增加节点与属性——(四)

先获取到节点,然后在节点山添加Element 添加节点 添加属性 设置开始标签与结束标签的值book.addElement("描述").addAttribute("name", "xxxxxx").setText("一本好书!"); 解决中文乱码问题: 输出流最好用字节流(Stream),字节流可以控制编码格式,Writer是字符流. 如果xml中编码是utf-8,格式器也用utf-8.格式器与xml文档的编码格式要一致. 1

C# 添加,修改,删除Xml节点 摘录

http://blog.csdn.net/zth603/article/details/5743880 C# 添加,修改,删除Xml节点 //添加xml节点    private void AddXml(string image, string title)     {        XmlDocument xmlDoc = new XmlDocument();        xmlDoc.Load(Server.MapPath("../flash/dati.xml")); XmlNo

XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)

以下是代码: using System;using System.Collections.Generic;using System.Linq;using System.Web; using System.Xml; namespace WebApplication2{ /// <summary>    /// XMLHelper XML文档操作管理器    /// </summary>    public class XMLHelper    {        public XMLH

XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <?xml version="1.0" encoding="utf-8" ?> <pets>   <cat color="black" weight="10">     <price>100</price>    

用DOM解析XML ,用xpath快速查询XML节点

XPath是一种快速查询xml节点和属性的一种语言,Xpath和xml的关系就像是sql语句和数据库的关系.用sql语句可以从数据库中快速查询出东西同样的用xPath也可以快速的从xml中查询出东西. 下面的示例演示了怎么用jdk自带的rt.jar完成dom解析 代码如下: test.xml的代码如下: <?xml version="1.0" encoding="UTF-8" ?> <inventory> <book year=&quo