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 ...
随机推荐
- C/S模型之TCP群聊
说明:利用TCP协议和多线程实现群聊功能.一个服务器,多个客户端(同一个程序多次启动).客户端向服务端发送数据,由服务端进行转发到其他客户端. /服务端 // WSASever.cpp : 定义控制台 ...
- 【转】Linux进程绑CPU核
1. 什么是绑核? 所谓绑核,其实就是设定某个进程/线程与某个CPU核的亲和力(affinity).设定以后,Linux调度器就会让这个进程/线程只在所绑定的核上面去运行.但并不是说该进程/线程就独占 ...
- Impala与Hive的比较
1. Impala架构 Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批 ...
- Python: 正则表达式匹配多行,实现多行匹配模式
1) 点 (.)去匹配任意字符的时候,不能匹配换行符 在这个模式中(?:.|\n)是指定了一个非捕获组(仅仅用来做匹配,部能通过单独捕获或者编号的组) 2) re.DOTALL re.compile( ...
- 数据仓库基础(八)Informatica 小例子
本文转载自:http://www.cnblogs.com/evencao/p/3147843.html 之前看了一段数据库的基础,感觉自己对数据库的基础挺薄弱的.以后再学习其他东西的时候也需要经常能学 ...
- 计算概论(A)/基础编程练习2(8题)/1:求平均年龄
#include<stdio.h> int main() { // 声明与初始化 , s=, age=; // 输入学生人数 scanf("%d", &n); ...
- android CMakeLists
https://developer.android.google.cn/studio/projects/configure-cmake https://blog.csdn.net/songmingzh ...
- go环境搭建—基于CentOS6.8
1. 背景 在当前的中国网络环境下,我们无法访问Google的服务的,包括Golang.org.从第三方网站下载预编译的二进制Go发行版可能存在第三方源代码注入的风险,例如之前的XcodeGhost. ...
- mysql与oracle常用函数及数据类型对比00持续补充
最近在转一个原来使用oracle,改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦). ...
- .net Core 中将原MVC中的 MvcHtmlString转换
public static IHtmlContent CustomLabelFor<TModel, TProperty>(this IHtmlHelper helper, Expressi ...