博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml
阅读量:5025 次
发布时间:2019-06-12

本文共 1543 字,大约阅读时间需要 5 分钟。

XML,可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

在Java中,我们利用dom4j和jaxen两个jar包更便利地在程序中使用xml 。

写入xml文件。

//1创建空文档
Document doc=DocumentHelper.createDocument();
//添加根元素
Element root=doc.addElement("书籍列表");
//在根元素上添加元素
Element book=root.addElement("武侠小说");
Element title=book.addElement("书名");
Element author=book.addElement("作者");
//设置内容
title.setText("天龙八部");
author.setText("金庸");
//添加属性
book.addAttribute("bookNo","1001");
book.addAttribute("hot","true");
写入开始

//创建写入流用于写入数据

FileWriter writer=new FileWriter(fileName);
//设置编码格式
OutputFormat ou=OutputFormat.createPrettyPrint();
ou.setEncoding("gb2312");
//XMLWriter写出xml文件
XMLWriter xmlWriter=new XMLWriter(writer,ou);
xmlWriter.write(doc);
xmlWriter.close();

读取xml文件。

SAXReader reader=new SAXReader();---获得解析器
File f=new File("src/book.xml");---指定解析文件
//构造文档树并且返回
Document document=reader.read(f);
//获得根元素
Element rootElement=document.getRootElement();
获得book元素
List<Element> list=rootElement.elements("book");
Iterator<Element> it=list.iterator();
//打印信息
while(it.hasNext()){
Element e=it.next();
System.out.println(e.elementText("title"));
System.out.println(e.elementText("author"));
System.out.println(e.elementText("price"));
}
打印属性
while(it.hasNext()){
Element e=it.next();
List att=e.attributes();
Iterator attit=att.iterator();
while(attit.hasNext()){
Attribute atts=(Attribute) attit.next();
System.out.println(atts.getName()+" "+atts.getValue());
}
}

转载于:https://www.cnblogs.com/quanby/p/5441200.html

你可能感兴趣的文章
JS中 String/JSON 方法总结
查看>>
二叉树的遍历问题总结
查看>>
3.14-3.20周总结
查看>>
Spring之面向切面编程AOP
查看>>
MATLAB GUI程序设计中使文本框接收多行输入的方法
查看>>
JdbcTemplate操作SQLServer存储过程
查看>>
easy canvas shape with react antdesign 简单的canvas图形in antd & react
查看>>
MySql中INFORMATION_SCHEMA
查看>>
【转】JAVA输出内容打印到TXT以及不同系统中如何换行
查看>>
tail -f 和 -F 的用法
查看>>
网络协议研究(四)FTP
查看>>
全文检索-Elasticsearch (四) elasticsearch.net 客户端
查看>>
Oracle DBMS_SESSION
查看>>
sublime复制当前行到下一行
查看>>
WPF 3D变换应用
查看>>
luogu4012 深海机器人问题 网络流
查看>>
android 拍照上传照片
查看>>
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句(转载)
查看>>
数据结构上机任务
查看>>
centos7上安装mysql
查看>>