鍍金池/ 教程/ Java/ Java StAX解析器 - 解析XML文檔
Java SAX解析器 - 解析XML文檔
Java DOM4J解析器
Java JDOM解析器 - 解析XML文檔
Java DOM4J解析器 - 解析XML文檔
Java XPath解析器
Java DOM4J解析器 - 修改XML文檔
Java StAX解析器 - 查詢XML文檔
Java DOM4J解析器 - 查詢XML文檔
Java SAX解析器
Java XPath解析器 - 解析XML文檔
Java SAX解析器 - 修改XML文檔
Java XML學(xué)習(xí)資源
Java XML解析器
Java StAX解析器 - 修改XML文檔
Java DOM解析器
Java StAX解析器
Java DOM解析器 - 修改XML文檔
Java StAX解析器 - 解析XML文檔
Java XML教程
Java JDOM解析器
Java JDOM解析器 - 創(chuàng)建XML文檔
Java JDOM解析器 - 查詢XML文檔
Java JDOM解析器 - 修改XML文檔
Java DOM4J解析器 - 創(chuàng)建XML文檔
Java XPath解析器 - 查詢XML文檔
Java SAX解析器 - 查詢XML文檔
Java DOM解析器 - 解析XML文檔
Java DOM解析器 - 查詢XML文檔
Java StAX解析器 - 創(chuàng)建XML文檔

Java StAX解析器 - 解析XML文檔

演示示例

這是輸入需要解析 xml 文件:

<?xml version="1.0"?>
<class>
   <student rollno="393">
      <firstname>dinkar</firstname>
      <lastname>kad</lastname>
      <nickname>dinkar</nickname>
      <marks>85</marks>
   </student>
   <student rollno="493">
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>vinni</nickname>
      <marks>95</marks>
   </student>
   <student rollno="593">
      <firstname>jasvir</firstname>
      <lastname>singn</lastname>
      <nickname>jazz</nickname>
      <marks>90</marks>
   </student>
</class>

 

StAXParserDemo.java

package com.yiibai.xml;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Iterator;

import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.Characters;
import javax.xml.stream.events.EndElement;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;

public class StAXParserDemo {
   public static void main(String[] args) {
      boolean bFirstName = false;
      boolean bLastName = false;
      boolean bNickName = false;
      boolean bMarks = false;
      try {
         XMLInputFactory factory = XMLInputFactory.newInstance();
         XMLEventReader eventReader =
         factory.createXMLEventReader(
            new FileReader("input.txt"));

            while(eventReader.hasNext()){
               XMLEvent event = eventReader.nextEvent();
               switch(event.getEventType()){
                  case XMLStreamConstants.START_ELEMENT:
                     StartElement startElement = event.asStartElement();
                     String qName = startElement.getName().getLocalPart();
                     if (qName.equalsIgnoreCase("student")) {
                        System.out.println("Start Element : student");
                        Iterator<Attribute> attributes = startElement.getAttributes();
                        String rollNo = attributes.next().getValue();
                        System.out.println("Roll No : " + rollNo);
                     } else if (qName.equalsIgnoreCase("firstname")) {
                        bFirstName = true;
                     } else if (qName.equalsIgnoreCase("lastname")) {
                        bLastName = true;上一篇:Java SAX解析器 - 修改XML文檔下一篇:Java XML教程