xml-dom crud操作
2014-01-29 16:18
316 查看
<?xml version="1.0" encoding="utf-8"?> <class> <stu home="菏泽" address = "北京" num="sp001" boss="sp002"> <name>杨过 </name> <sex>男</sex> <age>20 </age> </stu> <stu num="sp002" boss="sp001"> <name>李莫愁</name> <sex>女</sex> <age>38</age> </stu> </class>
import javax.xml.parsers.*; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.*; public class saxxml1 { public static void main(String[] args) throws Exception{ //1.创建SaxParserFactory SAXParserFactory spf = SAXParserFactory.newInstance(); //2.创建SaxParser解析器 SAXParser saxParser = spf.newSAXParser(); //3.把xml文件和事件处理对象关联 saxParser.parse("src/classes.xml", new MyDefaultHandler2()); } } //定义事件处理类 class MyDefaultHandler1 extends DefaultHandler{ //发现文档开始 @Override public void startDocument() throws SAXException { // TODO Auto-generated method stub super.startDocument(); //System.out.println("发现startDocument()"); } //发现xml中的一个元素 @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO Auto-generated method stub super.startElement(uri, localName, qName, attributes); //System.out.println("发现startElement()"+qName); } //发现xml文件中的文本 @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); //System.out.println("发现characters()"); String con = new String(ch,start,length); if(!con.trim().equals("")){ System.out.println(con); } } //发现一个元素结束 @Override public void endElement(String uri, String localName, String qName) throws SAXException { // TODO Auto-generated method stub super.endElement(uri, localName, qName); //System.out.println("发现endElement()"); } //文档结束 @Override public void endDocument() throws SAXException { // TODO Auto-generated method stub super.endDocument(); //System.out.println("发现endDocument()"); } } //如何只显示姓名和年龄 class MyDefaultHandler2 extends DefaultHandler{ private boolean name = false; private boolean age = false; @Override public void startDocument() throws SAXException { // TODO Auto-generated method stub super.startDocument(); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO Auto-generated method stub super.startElement(uri, localName, qName, attributes); if(qName.equals("name")){ name = true; }else if(qName.equals("age")){ age = true; } } @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); String con = new String(ch,start,length); if((!con.trim().equals(""))&&(name||age)){ System.out.println(con); } name = false; age = false; } @Override public void endElement(String uri, String localName, String qName) throws SAXException { // TODO Auto-generated method stub super.endElement(uri, localName, qName); } @Override public void endDocument() throws SAXException { // TODO Auto-generated method stub super.endDocument(); } }
相关文章推荐
- “用dom4j解析包”对xml进行dom方式的CRUD操作
- DOM 操作XML(CRUD)
- jaxp对xml文档进行dom解析并进行CRUD操作
- 用“XML解析开发包Jaxp”对XML文件进行Dom方式的CRUD操作
- DOM读写XML操作
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较
- “用dom4j解析包”对xml进行dom方式操作中文乱码解决方案
- ajax——dom对xml和html的操作
- java中,用dom对xml读写操作
- DOM操作XML
- PHP DOM操作XML文档,查询遍历结点元素
- JAVASCRIPT中使用DOM操作XML文档
- java使用DOM操作XML
- PHPdom操作查找xml标签文本
- c# XML操作 dom sax解析
- [Java] 四种操作(DOM、SAX、JDOM、DOM4J)xml方式详解与比较
- DOM进行XML的操作
- 使用Dom操作xml
- java操作xml文档(一) DOM方式
- C# XML文件操作总结 SAX DOM 解析