1. 解析文件格式
company.xml 写道
<?xml version='1.0' encoding='UTF-8'?>
<content>
<company>
<jydm>DJI</jydm>
<jsp>14719.46</jsp>
<rzdf>1.05</rzdf>
</company>
<company>
<jydm>HSI</jydm>
<jsp>21806.61</jsp>
<rzdf>-1.08</rzdf>
</company>
</content>
<content>
<company>
<jydm>DJI</jydm>
<jsp>14719.46</jsp>
<rzdf>1.05</rzdf>
</company>
<company>
<jydm>HSI</jydm>
<jsp>21806.61</jsp>
<rzdf>-1.08</rzdf>
</company>
</content>
2. 实体类
Company.java 写道
public class Company {
private String jydm;
private String jsp;
private String rzdf;
public String getJydm() {
return jydm;
}
public void setJydm(String jydm) {
this.jydm = jydm;
}
public String getJsp() {
return jsp;
}
public void setJsp(String jsp) {
this.jsp = jsp;
}
public String getRzdf() {
return rzdf;
}
public void setRzdf(String rzdf) {
this.rzdf = rzdf;
}
@Override
public String toString() {
StringBuilder buf=new StringBuilder();
buf.append("company[jydm=").append(jydm).append(",jsp=").append(jsp).append(",rzdf=").append(rzdf).append("]");
return buf.toString();
}
}
private String jydm;
private String jsp;
private String rzdf;
public String getJydm() {
return jydm;
}
public void setJydm(String jydm) {
this.jydm = jydm;
}
public String getJsp() {
return jsp;
}
public void setJsp(String jsp) {
this.jsp = jsp;
}
public String getRzdf() {
return rzdf;
}
public void setRzdf(String rzdf) {
this.rzdf = rzdf;
}
@Override
public String toString() {
StringBuilder buf=new StringBuilder();
buf.append("company[jydm=").append(jydm).append(",jsp=").append(jsp).append(",rzdf=").append(rzdf).append("]");
return buf.toString();
}
}
3. 解析类
CompanyParse.java 写道
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class CompanyParse extends DefaultHandler {
private List<Company> companys = null;
private Company company = null;
private String preTag = null;
@Override
public void startDocument() throws SAXException {
companys = new ArrayList<Company>();
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
if ("company".equals(qName)) {
company = new Company();
}
preTag = qName;
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if ("company".equals(qName)) {
companys.add(company);
company = null;
}
preTag = null;
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
if (preTag != null) {
String content = new String(ch, start, length);
if ("jydm".equals(preTag)) {
company.setJydm(content);
} else if ("jsp".equals(preTag)) {
company.setJsp(content);
} else if ("rzdf".equals(preTag)) {
company.setRzdf(content);
}
}
}
public List<Company> getCompanys() {
return companys;
}
public static void main(String[] args) throws Exception {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
CompanyParse handler = new CompanyParse();
parser.parse("company.xml", handler);
for (Company comp : handler.getCompanys()) {
System.out.println(comp);
}
}
}
import java.util.List;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class CompanyParse extends DefaultHandler {
private List<Company> companys = null;
private Company company = null;
private String preTag = null;
@Override
public void startDocument() throws SAXException {
companys = new ArrayList<Company>();
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
if ("company".equals(qName)) {
company = new Company();
}
preTag = qName;
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if ("company".equals(qName)) {
companys.add(company);
company = null;
}
preTag = null;
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
if (preTag != null) {
String content = new String(ch, start, length);
if ("jydm".equals(preTag)) {
company.setJydm(content);
} else if ("jsp".equals(preTag)) {
company.setJsp(content);
} else if ("rzdf".equals(preTag)) {
company.setRzdf(content);
}
}
}
public List<Company> getCompanys() {
return companys;
}
public static void main(String[] args) throws Exception {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
CompanyParse handler = new CompanyParse();
parser.parse("company.xml", handler);
for (Company comp : handler.getCompanys()) {
System.out.println(comp);
}
}
}
4. 运行结果
company[jydm=DJI,jsp=14719.46,rzdf=1.05]
company[jydm=HSI,jsp=21806.61,rzdf=-1.08]
相关推荐
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
Sax解析xml文件详细例子,解析复杂节点的xml,把内容显示到view中,例子简单完整,易用
Sax解析XML文件解
Servlet利用SAX解析XML文档,JAX,JSWDP,Servlet利用SAX解析XML文档
Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有...
Java SAX解析Xml Demo(详细注释)
绝对可用的SAX解析XML文件项目,费了九牛二虎之力,才找到的好资源,特与大家共享出来。直接导入eclipse就可运行,无需任何配置。
DOM和SAX解析XML文档
利用SAX解析XML文档,实现对南工自习室的解析,解决自习室难找的问题
SAX解析xml文件并显示在android虚拟机上实例源码,可以学习一下SAX解析技术
SDcard数据访问SAX解析XML文件
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
SAX解析XML文件以及对取出的id放进数组进行冒泡排序(从大到小排序和从小到大排序)
dom,dom4j,sax解析xml 文件经典实例,内置详细注解
从Tomcat下载xml并使用SAX解析xml文件
android用sax解析xml文件实例源码
java学习笔记——使用DOM解析XML和使用SAX解析XML