Java处理XML文档的StAX方式
2011-11-09 12:53
507 查看
package cn.rock.service;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import cn.rock.bean.Person;
public class StAXParseService {
private List<Person> personList = null;
private Person person = null;
public void displayXML(){
StAXParseXML();
Iterator<Person> iter = personList.iterator();
while(iter.hasNext()){
Person person = (Person)iter.next();
System.out.println(person.toString());
}
}
public void StAXParseXML(){
personList = new ArrayList<Person>();
XMLInputFactory factory = XMLInputFactory.newInstance();
try {
XMLStreamReader xmlReader = factory.createXMLStreamReader(new FileInputStream("E:\\Workspaces\\MyEclipse for Spring 8.6\\xml\\bin\\person.xml"));
while(xmlReader.hasNext()){
int event = xmlReader.next();
if(event == XMLStreamConstants.START_ELEMENT){
if("person".equals(xmlReader.getName().toString())){
person = new Person();
String id = xmlReader.getAttributeValue(null, "id");
System.out.println("id-------" + id);
person.setId(new Integer(id));
}else if("name".equals(xmlReader.getName().toString())){
String name = xmlReader.getElementText();
System.out.println("name-----" + name);
person.setName(name);
}else if("age".equals(xmlReader.getName().toString())){
String age = xmlReader.getElementText();
System.out.println("age------" + age);
person.setAge(new Short(age));
}else if("address".equals(xmlReader.getName().toString())){
String address = xmlReader.getElementText();
System.out.println("address------" + address);
person.setAddress(address);
}
// System.out.println(xmlReader.getEventType() + " " + xmlReader.getEventType() + " " + xmlReader.getName());
}else if(event == XMLStreamConstants.END_ELEMENT){
if("person".equals(xmlReader.getName().toString())){
personList.add(person);
person = null;
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import cn.rock.bean.Person;
public class StAXParseService {
private List<Person> personList = null;
private Person person = null;
public void displayXML(){
StAXParseXML();
Iterator<Person> iter = personList.iterator();
while(iter.hasNext()){
Person person = (Person)iter.next();
System.out.println(person.toString());
}
}
public void StAXParseXML(){
personList = new ArrayList<Person>();
XMLInputFactory factory = XMLInputFactory.newInstance();
try {
XMLStreamReader xmlReader = factory.createXMLStreamReader(new FileInputStream("E:\\Workspaces\\MyEclipse for Spring 8.6\\xml\\bin\\person.xml"));
while(xmlReader.hasNext()){
int event = xmlReader.next();
if(event == XMLStreamConstants.START_ELEMENT){
if("person".equals(xmlReader.getName().toString())){
person = new Person();
String id = xmlReader.getAttributeValue(null, "id");
System.out.println("id-------" + id);
person.setId(new Integer(id));
}else if("name".equals(xmlReader.getName().toString())){
String name = xmlReader.getElementText();
System.out.println("name-----" + name);
person.setName(name);
}else if("age".equals(xmlReader.getName().toString())){
String age = xmlReader.getElementText();
System.out.println("age------" + age);
person.setAge(new Short(age));
}else if("address".equals(xmlReader.getName().toString())){
String address = xmlReader.getElementText();
System.out.println("address------" + address);
person.setAddress(address);
}
// System.out.println(xmlReader.getEventType() + " " + xmlReader.getEventType() + " " + xmlReader.getName());
}else if(event == XMLStreamConstants.END_ELEMENT){
if("person".equals(xmlReader.getName().toString())){
personList.add(person);
person = null;
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- Java处理XML文档的SAX方式
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较
- Java对XML文档进行解析(SAX、StAX解析)
- Java - XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
- JavaWeb 之 XML文档的DOM和SAX解析方式详解
- java操作xml文档(三) JDOM方式
- java处理XML三种解析方式比较
- 【XML解析】(1)Java下使用JAXP中的DOM解析方式对XML文档进行解析
- java解析xml文档的几种方式,概论
- Java用String 截取方式解析xml文件、处理大xml文件
- XML:JAXP(Java API for XML Processing)处理XML的添CRUD(DOM方式)
- JavaWeb 之 XML文档的DOM和SAX解析方式详解
- java的xml学习[DOM4J方式解析XML文档]
- JavaEE实战——XML文档DOM、SAX、STAX解析方式详解
- java中解析xml文档有几种方式
- Java解析XML文档方式一—DOM
- Java 通过HttpClient 带证书方式请求Https协议网站 (Post方式带xml文档,Get以及Delete方式)
- java处理XML文档-JDOM
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较
- java 解析xml文档---通过XmlPullParser解析方式