资讯专栏INFORMATION COLUMN

JAVA操作XML

cikenerd / 1941人阅读

摘要:文件构建这里指的是目录下增加元素创建元素添加属性添加文本节点追加到根节点元素中写入到文件删除元素删除根节点中第一个元素写入到文件修改元素修改第一个元素中的内容写入到文件查看元素输出元素的属性值输出元素的内容值

XML文件
构建DOM
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(this.getClass().getResourceAsStream("/template.xml"));//这里指的是src目录下
增加元素
Element element = doc.createElement("task");//创建元素
element.setAttribute("id","AAA");//添加属性
element.appendChild(doc.createTextNode("DDD"));//添加文本节点
doc.getDocumentElement().appendChild(element);//追加到根节点元素中
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new     FileOutputStream(this.getClass().getResource("/template.xml").getPath()));
transformer.transform(source, result);//写入到文件
删除元素
doc.getDocumentElement().removeChild(doc.getElementsByTagName("task").item(0));//删除根节点中第一个task元素
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
MSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new FileOutputStream(this.getClass().getResource("/template.xml").getPath()));
transformer.transform(source, result);//写入到文件
修改元素
doc.getElementsByTagName("task").item(0).getFirstChild().setNodeValue("ccc");//修改第一个task元素中的内容
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
OMSource source = new DOMSource(doc);StreamResult result = new     StreamResult(new FileOutputStream(this.getClass().getResource("/template.xml").getPath()));
transformer.transform(source, result);//写入到文件
查看元素
NodeList tasks = doc.getDocumentElement().getChildNodes();
for(int i = 0;i < tasks.getLength();i++){
    System.out.println(((Element)tasks.item(i)).getAttribute("id"));//输出元素的id属性值
    System.out.println(tasks.item(i).getNodeValue);//输出元素的内容值
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110370.html

相关文章

  • XML解析详解|乐字节

    摘要:解析获取解析器获取文档获取根节点获取根节点下所有的子节点,也可以根据标签名称获取指定的直接点获取元素的名称和里面的文本创建创建节点创建属性设置文本设置关系关于解析先讲到这里了,请继续关注乐字节,后续超级干货奉上,快快乐乐学。 大家好,乐字节的小乐又来了,Java技术分享哪里少的了小乐!上次我们说了可扩展标记语言XML之二:XML语言格式规范、文档组成,本文将介绍重点——XML解析。sh...

    LinkedME2016 评论0 收藏0
  • XML基础知识归纳

    摘要:它提供了一套非常省力的,可通过,以及类似于的操作方法来取出和操作数据。 XML:可扩展标记型语言 随着json等一些技术的普及,似乎xml的路子越来越窄,虽然xml的一些功能被其他的一些技术代替,但是学习xml还是非常有必要,如果用xml存储一些大量数据,还是有一定优势的,就算你不管这些,但是现有的很多框架以及技术的配置文件都存在于xml中,最起码你得对它的结构以及一些基本用法有一定了...

    Warren 评论0 收藏0
  • 浅析SAX,DOM,JAXP,JDOM与DOM4J之间的关系

    摘要:通过解析器获取文档对象后,开发人员可以很方便的对其进行操作,如获取更元素,获取一个子元素,增加子元素,移除子元素。它并没有为解析提供任何新功能,但是它为在获取与解析器提供了更加直接的途径。自身不包含解析器,默认使用随包一起发行的。 showImg(/img/bVDhQE?w=888&h=220); 文章最初发表于我的个人博客非典型性程序猿 众所周知,SAX与DOM是JAVA中两大核心X...

    妤锋シ 评论0 收藏0
  • 浅析SAX,DOM,JAXP,JDOM与DOM4J之间的关系

    摘要:通过解析器获取文档对象后,开发人员可以很方便的对其进行操作,如获取更元素,获取一个子元素,增加子元素,移除子元素。它并没有为解析提供任何新功能,但是它为在获取与解析器提供了更加直接的途径。自身不包含解析器,默认使用随包一起发行的。 showImg(https://segmentfault.com/img/bVDhQE?w=888&h=220); 文章最初发表于我的个人博客非典型性程序猿...

    JasinYip 评论0 收藏0
  • JAVA操作XML

    摘要:文件构建这里指的是目录下增加元素创建元素添加属性添加文本节点追加到根节点元素中写入到文件删除元素删除根节点中第一个元素写入到文件修改元素修改第一个元素中的内容写入到文件查看元素输出元素的属性值输出元素的内容值 XML文件 aaa 构建DOM import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.Docume...

    My_Oh_My 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<