Java读取xml
首先将xml的格式展示出来,如下
<?xml version="1.0"?>
<configuration>
<connectionStrings name="zhangsan">
<add name="dbSqlServer" connectionString="Data Source=.;Initial Catalog=Life;User ID=sa;pwd=hzsoft"/>
<add name="dbAccess" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\Life.mdb;"/>
<add name="dbSqlite" connectionString="Data Source=|DataDirectory|\Life.db3;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"/>
</connectionStrings>
</configuration>
此处采用的读取方式是DOM4J,需要先下载对应的jar包,具体下载地址如下:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
java的具体代码如下:
import java.io.File;
import java.util.List; import org.dom4j.*;
import org.dom4j.io.SAXReader; public class Hello { public static void main(String[] args) {
// TODO Auto-generated method stub
SAXReader reader = new SAXReader();
File f = new File("D:\\Web.xml"); try {
Document document = reader.read(f);
Element root = document.getRootElement(); Element conn = root.element("connectionStrings"); String val = conn.attribute("name").getValue();
System.out.println(val); List list = conn.elements("add"); for (int i = 0; i < list.size(); i++) {
Element ele = (Element) list.get(i);
System.out.println(ele.attribute("connectionString").getValue());
} ///////// foreach实现
for (Object obj : list) {
Element ele = (Element) obj;
System.out.println(ele.attribute("connectionString").getValue());
} } catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
上面是读取xml文件,写入xml文件的代码如下:
import java.io.*; import org.dom4j.*;
import org.dom4j.io.*; public class App {
public static void main(String[] args) throws IOException {
Document document = DocumentHelper.createDocument();
Element root = DocumentHelper.createElement("configuration");
document.setRootElement(root); Element eleConnectionStrings = root.addElement("connectionStrings");
eleConnectionStrings.addAttribute("name", "zhangsan"); Element eleAdd = eleConnectionStrings.addElement("add");
eleAdd.addAttribute("name", "dbSqlServer"); // 格式化,避免写入文件是一行数据
OutputFormat opf = new OutputFormat();
opf.setNewlines(true);
opf.setIndent(true);
opf.setEncoding("utf-8");//编码格式
opf.setIndent(" ");// 使用4个空格进行缩进, 可以兼容文本编辑器 XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("config.xml"), opf);
xmlWriter.write(document);
// xmlWriter.flush();
xmlWriter.close(); //上面的方法无法完全释放资源 }
}
很久没有接触Java了,最近经理说我们公司将技术转型,由以前的C#转Java,因此回顾一下,特此记录
Java读取xml的更多相关文章
- Java读取xml数据
xml中的代码 <?xml version="1.0" encoding="UTF-8"?> <books id="aaa" ...
- java 读取XML文件作为配置文件
首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- java读取 xml文件
java读取xml文件的四种方法 转自https://www.cnblogs.com/lingyao/p/5708929.html Xml代码 1 <?xml version="1. ...
- JAVA读取XML文件数据
XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...
- JAVA读取XML并打印
在G盘下新建XML文档:person.xml,XML代码: <?xml version="1.0" encoding="utf-8"?> <s ...
- java读取XML文件,及封装XML字符串
package com.yyl.text; import java.io.FileInputStream; import java.util.ArrayList; import org.junit.T ...
随机推荐
- BabelMap 10.0.0.5 汉化版已经发布
新的 BabelMap 调整了用户体验的一些细节.修正了西夏语表意文字序列.修正了一些文字显示不全的问题. 请点击页面左上角连接,进入下载页面下载.
- python3 列表的常用方法
Python3中常用的列表方法(method) 见:help(list) 方法 意义 L.index(v [, begin[, end]]) 返回对应元素的索引下标, begin为开始索引,end为结 ...
- python 打印输出至文件中, 'wt'读写文件方式,会把原文件内容清空
会把原文件内容清空,写最新的 文件必须以文本模式打开,如果文件是二进制模式的话,打印会出错
- Python: 序列: 过滤序列元素
问题: 你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列 answer: eg1:列表推导 最简单的过滤序列元素的方法就是使用列表推导.比如:>>> mylist = ...
- Javassist
Javassist 实现动态代理 javassist 是一款非常优秀的Java 字节码引擎工具,能够在运行时编译.生成Java Class.
- 关于阿里云专有网络搭建FTP服务器的深坑
之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...
- cursor图标自定义
cursor: url(./images/favicon.ico), auto; 首先auto必须加上,其次必须使用ico文件,目前来说ico文件没有兼容性问题,ico格式怎么转? 传送门:http: ...
- Python入门之面向对象的__init__和__new__方法
Python入门之面向对象的__init__和__new__方法
- C++设计模式 之 “数据结构” 模式:Composite、Iterator、Chain of Resposibility
"数据结构"模式 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用.这时候,将这些特定数据结构封装在内部,在外部提供统一的接口, ...
- tomcat热启动没问题, 访问项目报500解决办法
新建maven项目 添加热启动 启动访问项目报错 报错提示 解决办法 思路:包冲突 在pom.xml中添加servlet <dependency> <groupId>javax ...