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>

原文地址:https://www.cnblogs.com/yinyl/p/11805049.html

时间: 2024-10-23 09:41:02

java读取XML文件,及封装XML字符串的相关文章

Java之Pull方式生成xml文件和解析xml文件

Pull XML解析器早已经被google集成到android sdk当中,它是google官方推荐的解析器. 如果我们要在Java桌面.J2ME等当中使用Pull方式生成xml文件和解析xml文件,需要用到kxml2: KXML解析器是基于普通XML PULL解析器的一个小巧的解析器,官网是http://kxml.org/ 普通XML PULL解析器的官网是http://xmlpull.org/ 实验开始: 在Eclipse中新建一个java项目,其中新建一个libs文件夹,拷贝从网上下载的k

java读取大文件 超大文件的几种方法

计算机技术学习用书: 编程技术资料:http://myitbook.taobao.com/  电脑技术群:291644908    用技术改变人生,欢迎您的加入 java 读取一个巨大的文本文件既能保证内存不溢出又能保证性能 2010-09-25 11:18:50|  分类: 默认分类 |字号 订阅 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.Rando

Atitit. C# java 的api 文件夹封装结构映射总结

Atitit. C#  java 的api 文件夹封装结构映射总结 C# java ref System.Reflection System.Type. java.lang.ref concurrent thread System.Threading java.lang.Thread collection System.collection java.util.collection Io Sys.io sys.text sys.xml sys.data.sql sys.data sys.web

Java读取properties文件工具类并解决控制台中文乱码

1.建立properts文件(error.message.properties) HTTP201= 请求成功并且服务器创建了新的资源 2.在spring-mvc.xml文件(applicationContext-mvc.xml)中配置properties工具类路径及读取properties文件的路径 <bean id="propertyConfigurer" class="com.yjlc.platform.utils.PropertyConfigurer"

02_Android写xml文件和读xml文件

?? 新建Android项目 编写AndroidManifest.xml,使本Android项目具有单元测试功能和写外设的权限. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima28.xmldemo" a

转载:java基础学习总结——java读取properties文件总结

java基础学习总结--java读取properties文件总结 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下: 1.1.项目的

Maven入门2-pom.xml文件与settings.xml文件

Maven入门2-pom.xml文件与settings.xml文件 本文内容来源于官网文档部分章节,settings.xml文件:参考http://maven.apache.org/settings.html,pom.xml文件参考:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html. http://maven.apache.org/pom.html:一个是POM的简单介绍,一个是详细介绍. 下面针对几

java基础学习总结——java读取properties文件总结

一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下: 1.1.项目的目录结构 1.2. java读取properties文件代码测试

java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去

#java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回:Map * @param file * @return * @throws IOException */ public static Map<String, String> readTxt(String file) throws IOException { Map<String, Strin