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.相比厚 ...
随机推荐
- LLVM使用其他Pass的结果
之前的工作一直集中在clang中,最近有点空闲时间,又重新熟悉了一下Pass的书写过程.(参考LLVM CookBook和http://llvm.org/docs/WritingAnLLVMPass. ...
- LLVM新建全局变量
在LLVM中,有原生的AST Clone,却没有一个比较好的Stmt copy功能,基于Scout在LLVM上进行的修改,我们实现了自己的Stmt Clone功能. 要进行Stmt Clone,肯定需 ...
- mORMot学习笔记2-2种方式查询数据
本例使用SqlServer 第一种方式结果放入Memo控件,,需要引用SynCommons, SynDB, SynOleDb; procedure TForm1.Button1Click(Sender ...
- 用window.showModalDialog()打开的页面Request.UrlReferrer为null
今天在解决一个问题,怎么也找不到解决方案.我的一个窗体是IE通过window.showModalDialog()打开的,但为了防止用户手工输的地址,所以我需要判断是通过别的页面调整获得,用Reques ...
- Django—ModelForm
简介 Model + Form ==> ModelForm.model和form的结合体,所以有以下功能: 验证 数据库操作 Form回顾 models.py class UserType(mo ...
- ACM-ICPC 2018 徐州赛区网络预赛 J. Maze Designer (最大生成树+LCA求节点距离)
ACM-ICPC 2018 徐州赛区网络预赛 J. Maze Designer J. Maze Designer After the long vacation, the maze designer ...
- linux和unix下crontab的使用
在LINUX中,周期执行的任务一般由cron这个守护进程来处理 [ps -ef | grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为 ...
- centos6.5解压及压缩zip压缩包
查看zip压缩文件的内容而不解压:unzip -l filename.zip 将zip包解压到指定路径(若不指定路径则为当前目录):unzip filename.zip -d /usr/file 压缩 ...
- 题解 【NOIP2006】作业调度方案
[NOIP2006]作业调度方案 Description 我们现在要利用 m 台机器加工 n 个工件,每个工件都有 m 道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间 ...
- 宽字符(UNICODE)字符集
推荐使用宽字符(UNICODE)字符集,严格使用宽字符集的函数和定义.具体参考https://blog.csdn.net/qq_22642239/article/details/84822485