jaxp sax解析xml代码

 /**
 * SAX解析XML
 * 
 * */
     public void test1() throws Exception 
     {
//创建解析器工厂
SAXParserFactory  factory=SAXParserFactory.newInstance();
//创建解析器
SAXParser parser= factory.newSAXParser();
    //获取读取器
XMLReader  reader=parser.getXMLReader();
//设置读取器容器
reader.setContentHandler(new MyContentHandle());
//读取xml
reader.parse("book.xml");

     }



class MyContentHandle extends DefaultHandler
{
private String elementName;
private int count=0;

@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
   if(elementName.equals("书名") && count==1)
   {
    String bookName = new String(ch,start,length);
    System.out.println(bookName);
   }
}

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

}


@Override
public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException {
   if(name.equals("书名"))
   {
    count++;
   }
  elementName=name;
}

}


public void test2() throws Exception
{
       //创建解析器工厂
DocumentBuilderFactory  factory=DocumentBuilderFactory.newInstance();
//创建解析器
DocumentBuilder  builder=factory.newDocumentBuilder();
//读取XML文件
Document  document=builder.parse("book.xml");

NodeList nodeList=document.getElementsByTagName("书名");
Element element=(Element)nodeList.item(0);
String content=element.getTextContent();
System.out.println(content);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值