您的位置:首页 > 其它

SAX操作XML

2015-09-29 20:41 274 查看
XML文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<person>
<p1>
<name>zhangsan</name>
<age>23</age>
</p1>
<p2>
<name>lisi</name>
<age>20</age>
</p2>
</person>


SAX操作代码:

package cn.itcast.sax;

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 Textsax {

/**
* @param args
* @throws Exception
* @throws SAXException
*/
public static void main(String[] args) throws SAXException, Exception {

SAXParserFactory parserFactory = SAXParserFactory.newInstance();

SAXParser saxParser = parserFactory.newSAXParser();

saxParser.parse("src/p.xml", new myDefault1());

}

}

class myDefault1 extends DefaultHandler{
boolean flag = false;
int index=1;
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
//System.out.print("<"+qName+">");
if ("name".equals(qName))
{
flag=true;
}
}

@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
//System.out.print(new String(ch,start,length));
if (flag==true&&index == 1)
{
System.out.println(new String(ch,start,length));
}
}

@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {

//System.out.print("</"+qName+">");

if("name".equals(qName))
{
flag = false;
index++;
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml 操作 SAX