有关于读取XML文档内容的java代码的书写
来源:互联网 发布:人工智能的运用领域 编辑:程序博客网 时间:2024/06/10 07:51
最近通过学习,想分享给大家一些关于读取XML文档的内容的简单代码,很是好用.废话不多说,那就开始了:
这是读取信息的核心代码:
package com.iflytek.data;
import java.util.ArrayList;
import java.util.List;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import com.iflytek.entity.Book;
public class BookHandler extends DefaultHandler {
private List<Book> books = null;
private Book book = null;
private String currentTag = null;
public List<Book> getBooks() {
return books;
}
@Override
public void startDocument() throws SAXException {
books = new ArrayList<Book>();
}
@Override
public void endDocument() throws SAXException {
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
if (qName.equals("book")) {
book = new Book();
// 直接获取id的值
String id = attributes.getValue(0);
book.setUuid(id);
}
currentTag = qName;
for (int i = 0; i < attributes.getLength(); i++) {
// 属性名
String attName = attributes.getQName(i);
// 属性值
String attValue = attributes.getValue(i);
}
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if (qName.equals("book")) {
books.add(book);
book = null;
}
currentTag = null;
}
// 文本几点 包括空白
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String value = new String(ch, start, length);
if (currentTag != null) {
if (currentTag.equals("name")) {
book.setBookname(value);
} else if (currentTag.equals("publish")) {
book.setBookpublish(value);
}else if (currentTag.equals("author")) {
book.setAuthor(value);
}else if (currentTag.equals("state")) {
book.setImp(value);
}
}
}
}
这些代码是对Book对象进行操作的,你需要新建一个Book对象属性可以自己定义,然后在核心代码里面对对应的String进行修改.
还有是main函数的操作和调用:
package com.iflytek.xmltest;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class XmlSAXTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
readbySax(new File("e:\\book.xml"));
}
public static void readbySax(File file)
{
SAXParserFactory saxFacoty=SAXParserFactory.newInstance();
try {
SAXParser parser=saxFacoty.newSAXParser();
BookHandler bHandler=new BookHandler();
parser.parse(file,bHandler);
System.out.println("****************************************");
for(Book book:bHandler.getBooks())
{
System.out.println(book);
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
- 有关于读取XML文档内容的java代码的书写
- 有关于Xml的基本知识
- 读取/书写Java的XML格式properties文件
- java 读取本地文本文档的内容
- JAVA操作XML(3)--读取XML文档的内容,并将内容显示在浏览器上
- java读取xml指定标签的内容
- Java读取XML文件的内容
- java读取XML文件内容的方法
- 读取XML的内容
- java中XML文档的读取
- 有关Java的内容
- JAVA的代码书写规范
- JAVA读取文档内容
- 读取远程的xml文档
- 简单的XML文档读取
- 文档的书写规范
- 有关于JAVA中的CLASSPATH的作用
- 有关于JAVA中的CLASSPATH的作用
- regsvr32注册模块c\program 加载失败
- Java利用Zxing生成二维码
- Eclipse插件开发编辑器篇
- hd 1181 变形课
- js实现多图片上传
- 有关于读取XML文档内容的java代码的书写
- 20150806
- 南邮 OJ 1532 B ? Cryptoquote
- [autoLayout]自动布局下的纯storyboard添加约束--四个imageView平分一个屏幕的宽度
- C++ 强制类型转换
- JAVA反射机制
- poj3026 Borg Maze
- UI06_ScrollviewLoop
- Myeclipse运行报错:an out of memory error has occurred...