使用SAX读取XML文件的练习--(将读取的XML文件原样输出)
2016-12-15 08:52
483 查看
实现的功能:用SAX读取contact.xml 文件并将其原样输出
XML文件:contact.xml
功能实现的功能类(处理程序):MyDefaultHandler2.java
功能实现的主程序:Demo_sax1.java
XML文件:contact.xml
<?xml version="1.0" encoding="utf-8"?> <contactList> <contact id="001" name="eric"> <name>张三</name> <age>20</age> <phone>134222223333</phone> <email>zhangsan@qq.com</email> <qq>432221111</qq> </contact> <contact id="002" name="jacky"> <name>eric</name> <age>20</age> <phone>134222225555</phone> <email>lisi@qq.com</email> <qq>432222222</qq> </contact> </contactList>
功能实现的功能类(处理程序):MyDefaultHandler2.java
package SAX; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; /* * SAX处理器程序 */ public class MyDefaultHandler2 extends DefaultHandler { private StringBuffer sb = new StringBuffer(); public String getContent() { return sb.toString(); } /* * 开始标签 */ @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { sb.append("<"+qName); //判断是否有属性 if(attributes!=null) { for(int i=0 ; i<attributes.getLength();i++) { //得到属性的名称 String attrName = attributes.getQName(i); //得到属性值 String attrValue = attributes.getValue(i); sb.append(" "+attrName+"=\""+attrValue+"\""); } } sb.append(">"); } /* * 文本内容 */ @Override public void characters(char[] ch, int start, int length) throws SAXException { //得到当前读取的文本内容 String content = new String(ch,start,length); sb.append(content); } /* * 结束标签 */ @Override public void endElement(String uri, String localName, String qName) throws SAXException { sb.append("</"+qName+">"); } }
功能实现的主程序:Demo_sax1.java
package SAX; import java.io.File; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; /* * 读取contact.xml问价,完整的输出文档内容 */ public class Demo_sax1 { public static void main(String[] args) throws Exception { //1.创建一个SAXParser SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); //2.读取XML文件 MyDefaultHandler2 handler = new MyDefaultHandler2(); parser.parse(new File("./src/contact.xml"), handler); String content = handler.getContent(); System.out.println(content); } }
相关文章推荐
- 使用SAX读取XML文件
- Java乔晓松-使用SAX,DOM,pull解析XML文件以及pull解析生成xml文件
- 使用SAX读取XML文件--(SAX的基础语法练习)
- Android 使用SAX读取XML文件
- 使用Pull解析器读取XML文件和生成XML文件
- android_xml解析之 使用SAX读取XML文件
- XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
- android学习——使用SAX、DOM 和 PULL 解析xml文件,及使用pull生成xml文件
- 使用sax读取xml文件生成txt文件。
- XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- Android下使用pull解析器生成XML文件、读取XML文件
- 使用SAX或者DOM或者pull读取XML文件
- [libexpat]_[XML处理]_[C/C++使用libexpat库以数据流(SAX模型)的方式读取(解析)大XML文件]
- 使用Pull解析器生成XML文件和读取xml文件
- Android --- 使用SAX读取xml文件
- 合理使用DataSet和DataGridView读取xml文件到DataGridView;保存DataGridView到xml文件
- [libexpat]_[XML处理]_[C/C++使用libexpat库以数据流(SAX模型)的方式读取(解析)大XML文件]
- 使用XmlTextWriter与XmlTextReader访问创建和读取XML文件
- java读取xml配置文件(sax)