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.相比厚 ...
随机推荐
- Java安全停止线程方法
1. 早期Java提供java.lang.Thread类型包含了一些列的方法 start(), stop(), stop(Throwable) and suspend(), destroy() and ...
- weui 注意事项
个人随笔日记,还请小心采纳为甚 手机移动web开发必须要做的两点: 1.body中加上ontouchstart,即<body ontouchstart>...</body>: ...
- jqGrid TreeGrid 加载数据 排序 扩展
发现 jqGrid TreeGrid 加载的数据必须要排序 给了两种平滑数据模式尽然不内部递归 所以改了下源码加了个数据二次过滤器扩展 数据本该是这样的 结果没排序成这样了 (而且还得是从根节点到子节 ...
- 解决Ubuntu下ssh无法启动
Ubuntu ssh一直无法启动. 通过 systemctl status ssh.service 查看到的错误是 Dec 16 13:35:22 iZm5eckxl2tqyka9eoe7b3Z ...
- Swagger保姆级教学
Swagger保姆级教学 Swagger 简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样 ...
- map()函数浅析
MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, .. ...
- linux和unix下crontab的使用
在LINUX中,周期执行的任务一般由cron这个守护进程来处理 [ps -ef | grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为 ...
- Linux (Deppin ,Ubuntu )开发环境配置,VUE & dotnetcore 解决 yarn 找不到问题
新装系统设置 清华镜像: https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/ 网易镜像: http://mirrors.163.com/.help/ubu ...
- H5 页面 rem 布局适配方法
rem 布局适配方案 主要方法为: 按照设计稿与设备宽度的比例,动态计算并设置 html 根标签的 font-size 大小: css 中,设计稿元素的宽.高.相对位置等取值,按照同等比例换算为 re ...
- (四)关于java.lang.IllegalMonitorStateException异常说明
1.异常原因及解释 首先你要了解这个异常为什么会抛出,这个异常会在三种情况下抛出:1>当前线程不含有当前对象的锁资源的时候,调用obj.wait()方法;2>当前线程不含有当前对象的锁资源 ...