java读取XML文件,及封装XML字符串
package com.yyl.text; import java.io.FileInputStream;
import java.util.ArrayList; import org.junit.Test;
import org.nuxeo.common.xmap.XMap; import com.yin.vo.Book;
import com.yin.vo.Books; public class XmapTest { /**
* 读取XML文件内容
* @throws Exception
*/
@Test
public void createXML() throws Exception{
XMap xmp = new XMap();
//解析xml 将xml内容转换成javaBean
xmp.register(Books.class);
FileInputStream in = new FileInputStream("D:\\WORK\\workspace\\MyProject\\src\\com\\yin\\book.xml");
Object[] result = (Object[]) xmp.loadAll(in);
Books bookes=(Books)result[0];
System.out.println(bookes.getBook().get(0).getTitle());
} /**
* 将对象转成xml字符串
*/
//@Test
public void readXML(){
Books books=new Books();
Book book=new Book();
ArrayList<String> sj=new ArrayList<String>();
sj.add("java程序设计啦啦集合list");
sj.add("j");
book.setNo("1");
book.setPrice("15块钱");
book.setTitle("java程序设计");
book.setSubjects(sj);
books.addBook(book); Book book2=new Book();
book2.setNo("2");
book2.setPrice("25块钱");
book2.setTitle("c程序设计傻逼");
ArrayList<String> li=new ArrayList<String>();
li.add("c程序设计啦啦list");
li.add("C");
book2.setSubjects(li);
books.addBook(book2); XMap xmp = new XMap();
//将javaBean转换成xml文件
xmp.register(Books.class);
ArrayList<String> filters=new ArrayList<String>();
try {
System.out.println(xmp.asXmlString(books, "UTF-8", filters, true));
} catch (Exception e) {
e.printStackTrace();
}
}
}
books.java
package com.yyl.vo; import java.util.ArrayList;
import java.util.List; import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject; @XObject(value = "books")
public class Books {
@XNodeList(value = "book", type = ArrayList.class, componentType = Book.class)
private List< Book> book;
public List< Book> getBook() {
return book;
}
public void setBook(List< Book> book) {
this.book = book;
}
public void addBook(Book b){
if(book==null){
book=new ArrayList<Book>();
}
book.add(b);
}
}
book.java
package com.yyl.vo; import java.util.ArrayList;
import java.util.List; import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject; @XObject
public class Book {
@XNode("title")
private String title;
@XNode("@no")
private String no;
@XNodeList(value = "subject", type = ArrayList.class, componentType =
String.class)
private List< String> subjects;
@XNode("price")
private String price;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List< String> getSubjects() {
return subjects;
}
public void setSubjects(List< String> subjects) {
this.subjects = subjects;
}
public String getPrice() {
return price;
}
public void setPrice(String t) {
this.price =t;
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
}
book.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book no="1">
<title>java程序设计</title>
<subject>java</subject>
<subject>j</subject>
<price>10块钱</price>
</book>
<book no="2">
<title>c++是傻逼</title>
<subject>C++</subject>
<subject>c</subject>
<price>10块钱</price>
</book>
</books>
java读取XML文件,及封装XML字符串的更多相关文章
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
- xml文件生成方式一(字符串拼接,将多实体类对象写入xml文件)
1.xml文件生成,拼接字符串使用StringBuffer或StringBuilder 2.拼接好后写入文件即可,将多个实体类写入xml文件 3.这种方式比较简单,但是操作也比较麻烦 4.下面是我的代 ...
- Java中使用DOM4J来生成xml文件和解析xml文件
一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...
- java读取大文件 超大文件的几种方法
java 读取一个巨大的文本文件既能保证内存不溢出又能保证性能 import java.io.BufferedReader; import java.io.File; import jav ...
- Atitit. C# java 的api 文件夹封装结构映射总结
Atitit. C# java 的api 文件夹封装结构映射总结 C# java ref System.Reflection System.Type. java.lang.ref concurren ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- C# 操作XML文件,用XML文件保存信息
using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.IO ...
- Java读取properties文件工具类并解决控制台中文乱码
1.建立properts文件(error.message.properties) HTTP201= 请求成功并且服务器创建了新的资源 2.在spring-mvc.xml文件(applicationCo ...
- java 读取 yaml 文件
做 java 项目用的最多的配置文件就是 properites 或者 xml, xml 确实是被用烂了,Struts, Spring, Hibernate(ssh) 无一不用到 xml.相比厚 ...
随机推荐
- # 机器学习算法总结-第六天(Adaboost算法)
SKlearn中的Adaboost使用 主要调的参数:第一部分是对我们的Adaboost的框架进行调参, 第二部分是对我们选择的弱分类器进行调参. 使用 Adaboost 进行手写数字识别 导入库,载 ...
- split分离特殊字符
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) \b \t \n \f \r \ ...
- (十一)tina | openwrt关闭调试串口(DEBUG UART)
//编辑以下文件 vi target/allwinner/astar-parrot/base-files/etc/inittab //不同系统文件路径注意更改 //文件内容如下,注释::askcon ...
- 共享手机网络给电脑(USB连接)
华为手机步骤: 设置-->搜索-->hdb-->允许HiSuite通过HDB连接设置 设置-->无线和网络-->移动网络共享-->USB共享网络
- ping不通github
Linux 下 host文件在 /etc/hosts Windows下 host文件在C:\Windows\System32\drivers\etc 在host文件的最后面加上: Linux sudo ...
- GNU Radio下QT GUI Tab Widget的使用方法
期望显示出的效果: 即将要显示的图放在各自的标签页中. 整体框图: 具体设置: QT GUI Tab Widget的设置: 其中 ID改为自己想改的,这里我写的是display GUI Hint所代表 ...
- ELK架构图示例
这是最简单的一种ELK架构方式.优点是搭建简单,易于上手.缺点是Logstash耗资源较大,运行占用CPU和内存高.另外没有消息队列缓存,存在数据丢失隐患. 此架构由Logstash分布于各个节点上搜 ...
- [唐胡璐]Selenium技巧- ReportNG替换TestNG默认结果报告
TestNG默认的报告虽然内容挺全,但是展现效果却不太理想,不易阅读。因此我们想利用ReportNG来替代TestNG默认的report。 什么是ReportNG呢?这里不多说,请直接参见:http: ...
- firefox ie 比较 relative path
relative path 对于firefox ie 来说是不同的 在ie中 <base href="/">起基础url作用 此时 <a href="& ...
- 读取根目录src下的指定配置properties文件内容
代码如下: package com.chen.system.util; import java.io.File; import java.io.FileInputStream; import java ...