<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJDK_6%2FStreaming_XML_Parser</id>
		<title>Java/JDK 6/Streaming XML Parser - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJDK_6%2FStreaming_XML_Parser"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JDK_6/Streaming_XML_Parser&amp;action=history"/>
		<updated>2026-05-14T09:41:47Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/JDK_6/Streaming_XML_Parser&amp;diff=6345&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JDK_6/Streaming_XML_Parser&amp;diff=6345&amp;oldid=prev"/>
				<updated>2010-06-01T06:12:01Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:12, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/JDK_6/Streaming_XML_Parser&amp;diff=6344&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JDK_6/Streaming_XML_Parser&amp;diff=6344&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Catch XMLStreamException ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamException;&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
&lt;br /&gt;
class StaxCursorTest {&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        String filename = &amp;quot;yourXML.xml&amp;quot;;&lt;br /&gt;
        XMLInputFactory xmlif = null;&lt;br /&gt;
        xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES,Boolean.TRUE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES,Boolean.FALSE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);&lt;br /&gt;
        try {&lt;br /&gt;
            XMLStreamReader xmlr = xmlif.createXMLStreamReader(filename,new FileInputStream(filename));&lt;br /&gt;
            int eventType = xmlr.getEventType();&lt;br /&gt;
            printStartDocument(xmlr);&lt;br /&gt;
            while (xmlr.hasNext()) {&lt;br /&gt;
                eventType = xmlr.next();&lt;br /&gt;
                printStartElement(xmlr);&lt;br /&gt;
                printEndElement(xmlr);&lt;br /&gt;
                printText(xmlr);&lt;br /&gt;
                printPIData(xmlr);&lt;br /&gt;
                printComment(xmlr);&lt;br /&gt;
            }&lt;br /&gt;
        } catch (XMLStreamException ex) {&lt;br /&gt;
            System.out.println(ex.getMessage());&lt;br /&gt;
            if (ex.getNestedException() != null) {&lt;br /&gt;
                ex.getNestedException()&lt;br /&gt;
                  .printStackTrace();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static final String getEventTypeString(int eventType) {&lt;br /&gt;
        switch (eventType) {&lt;br /&gt;
        case XMLEvent.START_ELEMENT:&lt;br /&gt;
            return &amp;quot;START_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_ELEMENT:&lt;br /&gt;
            return &amp;quot;END_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.PROCESSING_INSTRUCTION:&lt;br /&gt;
            return &amp;quot;PROCESSING_INSTRUCTION&amp;quot;;&lt;br /&gt;
        case XMLEvent.CHARACTERS:&lt;br /&gt;
            return &amp;quot;CHARACTERS&amp;quot;;&lt;br /&gt;
        case XMLEvent.ruMENT:&lt;br /&gt;
            return &amp;quot;COMMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.START_DOCUMENT:&lt;br /&gt;
            return &amp;quot;START_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_DOCUMENT:&lt;br /&gt;
            return &amp;quot;END_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.ENTITY_REFERENCE:&lt;br /&gt;
            return &amp;quot;ENTITY_REFERENCE&amp;quot;;&lt;br /&gt;
        case XMLEvent.ATTRIBUTE:&lt;br /&gt;
            return &amp;quot;ATTRIBUTE&amp;quot;;&lt;br /&gt;
        case XMLEvent.DTD:&lt;br /&gt;
            return &amp;quot;DTD&amp;quot;;&lt;br /&gt;
        case XMLEvent.CDATA:&lt;br /&gt;
            return &amp;quot;CDATA&amp;quot;;&lt;br /&gt;
        case XMLEvent.SPACE:&lt;br /&gt;
            return &amp;quot;SPACE&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return &amp;quot;UNKNOWN_EVENT_TYPE , &amp;quot; + eventType;&lt;br /&gt;
    }&lt;br /&gt;
    private static void printEventType(int eventType) {&lt;br /&gt;
        System.out.println(&amp;quot;EVENT TYPE(&amp;quot; + eventType + &amp;quot;) = &amp;quot; + getEventTypeString(eventType));&lt;br /&gt;
    }&lt;br /&gt;
    private static void printStartDocument(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.START_DOCUMENT == xmlr.getEventType()) {&lt;br /&gt;
            System.out.println(&lt;br /&gt;
                    &amp;quot;&amp;lt;?xml version=\&amp;quot;&amp;quot; + xmlr.getVersion() + &amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
                    + &amp;quot; encoding=\&amp;quot;&amp;quot; + xmlr.getCharacterEncodingScheme() + &amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
                    + &amp;quot;?&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printComment(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.getEventType() == xmlr.ruMENT) {&lt;br /&gt;
            System.out.print(&amp;quot;&amp;lt;!--&amp;quot; + xmlr.getText() + &amp;quot;--&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printText(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.hasText()) {&lt;br /&gt;
            System.out.print(xmlr.getText());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printPIData(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.getEventType() == XMLEvent.PROCESSING_INSTRUCTION) {&lt;br /&gt;
            System.out.print(&lt;br /&gt;
                    &amp;quot;&amp;lt;?&amp;quot; + xmlr.getPITarget() + &amp;quot; &amp;quot; + xmlr.getPIData() + &amp;quot;?&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printStartElement(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.isStartElement()) {&lt;br /&gt;
            System.out.print(&amp;quot;&amp;lt;&amp;quot; + xmlr.getName().toString());&lt;br /&gt;
            printAttributes(xmlr);&lt;br /&gt;
            System.out.print(&amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printEndElement(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.isEndElement()) {&lt;br /&gt;
            System.out.print(&amp;quot;&amp;lt;/&amp;quot; + xmlr.getName().toString() + &amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printAttributes(XMLStreamReader xmlr) {&lt;br /&gt;
        int count = xmlr.getAttributeCount();&lt;br /&gt;
        if (count &amp;gt; 0) {&lt;br /&gt;
            for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
                System.out.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                System.out.print(xmlr.getAttributeName(i).toString());&lt;br /&gt;
                System.out.print(&amp;quot;=&amp;quot;);&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
                System.out.print(xmlr.getAttributeValue(i));&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        count = xmlr.getNamespaceCount();&lt;br /&gt;
        if (count &amp;gt; 0) {&lt;br /&gt;
            for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
                System.out.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                System.out.print(&amp;quot;xmlns&amp;quot;);&lt;br /&gt;
                if (xmlr.getNamespacePrefix(i) != null) {&lt;br /&gt;
                    System.out.print(&amp;quot;:&amp;quot; + xmlr.getNamespacePrefix(i));&lt;br /&gt;
                }&lt;br /&gt;
                System.out.print(&amp;quot;=&amp;quot;);&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
                System.out.print(xmlr.getNamespaceURI(i));&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get information as an XMLEvent object when using cursor approach ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamConstants;&lt;br /&gt;
import javax.xml.stream.XMLStreamException;&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
import javax.xml.stream.events.StartElement;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
import javax.xml.stream.util.XMLEventAllocator;&lt;br /&gt;
import com.sun.xml.internal.stream.events.XMLEventAllocatorImpl;&lt;br /&gt;
&lt;br /&gt;
class CursorApproachEventObject {&lt;br /&gt;
    static XMLEventAllocator allocator = null;&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        String filename = &amp;quot;yourXML.xml&amp;quot;;&lt;br /&gt;
        XMLInputFactory xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
        xmlif.setEventAllocator(new XMLEventAllocatorImpl());&lt;br /&gt;
        allocator = xmlif.getEventAllocator();&lt;br /&gt;
        XMLStreamReader xmlr = xmlif.createXMLStreamReader(filename,new FileInputStream(filename));&lt;br /&gt;
        int eventType = xmlr.getEventType();&lt;br /&gt;
        while (xmlr.hasNext()) {&lt;br /&gt;
            eventType = xmlr.next();&lt;br /&gt;
            if ((eventType == XMLStreamConstants.START_ELEMENT)&amp;amp;&amp;amp; xmlr.getLocalName().equals(&amp;quot;Book&amp;quot;)) {&lt;br /&gt;
                StartElement event = getXMLEvent(xmlr).asStartElement();&lt;br /&gt;
                System.out.println(&amp;quot;EVENT: &amp;quot; + event.toString());&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static XMLEvent getXMLEvent(XMLStreamReader reader)&lt;br /&gt;
        throws XMLStreamException {&lt;br /&gt;
        return allocator.allocate(reader);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== STAX cursor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamException;&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
&lt;br /&gt;
class StaxCursorTest {&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        String filename = &amp;quot;yourXML.xml&amp;quot;;&lt;br /&gt;
        XMLInputFactory xmlif = null;&lt;br /&gt;
        xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES,Boolean.TRUE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES,Boolean.FALSE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);&lt;br /&gt;
        try {&lt;br /&gt;
            XMLStreamReader xmlr = xmlif.createXMLStreamReader(filename,new FileInputStream(filename));&lt;br /&gt;
            int eventType = xmlr.getEventType();&lt;br /&gt;
            printStartDocument(xmlr);&lt;br /&gt;
            while (xmlr.hasNext()) {&lt;br /&gt;
                eventType = xmlr.next();&lt;br /&gt;
                printStartElement(xmlr);&lt;br /&gt;
                printEndElement(xmlr);&lt;br /&gt;
                printText(xmlr);&lt;br /&gt;
                printPIData(xmlr);&lt;br /&gt;
                printComment(xmlr);&lt;br /&gt;
            }&lt;br /&gt;
        } catch (XMLStreamException ex) {&lt;br /&gt;
            System.out.println(ex.getMessage());&lt;br /&gt;
            if (ex.getNestedException() != null) {&lt;br /&gt;
                ex.getNestedException()&lt;br /&gt;
                  .printStackTrace();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static final String getEventTypeString(int eventType) {&lt;br /&gt;
        switch (eventType) {&lt;br /&gt;
        case XMLEvent.START_ELEMENT:&lt;br /&gt;
            return &amp;quot;START_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_ELEMENT:&lt;br /&gt;
            return &amp;quot;END_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.PROCESSING_INSTRUCTION:&lt;br /&gt;
            return &amp;quot;PROCESSING_INSTRUCTION&amp;quot;;&lt;br /&gt;
        case XMLEvent.CHARACTERS:&lt;br /&gt;
            return &amp;quot;CHARACTERS&amp;quot;;&lt;br /&gt;
        case XMLEvent.ruMENT:&lt;br /&gt;
            return &amp;quot;COMMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.START_DOCUMENT:&lt;br /&gt;
            return &amp;quot;START_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_DOCUMENT:&lt;br /&gt;
            return &amp;quot;END_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.ENTITY_REFERENCE:&lt;br /&gt;
            return &amp;quot;ENTITY_REFERENCE&amp;quot;;&lt;br /&gt;
        case XMLEvent.ATTRIBUTE:&lt;br /&gt;
            return &amp;quot;ATTRIBUTE&amp;quot;;&lt;br /&gt;
        case XMLEvent.DTD:&lt;br /&gt;
            return &amp;quot;DTD&amp;quot;;&lt;br /&gt;
        case XMLEvent.CDATA:&lt;br /&gt;
            return &amp;quot;CDATA&amp;quot;;&lt;br /&gt;
        case XMLEvent.SPACE:&lt;br /&gt;
            return &amp;quot;SPACE&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return &amp;quot;UNKNOWN_EVENT_TYPE , &amp;quot; + eventType;&lt;br /&gt;
    }&lt;br /&gt;
    private static void printEventType(int eventType) {&lt;br /&gt;
        System.out.println(&amp;quot;EVENT TYPE(&amp;quot; + eventType + &amp;quot;) = &amp;quot; + getEventTypeString(eventType));&lt;br /&gt;
    }&lt;br /&gt;
    private static void printStartDocument(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.START_DOCUMENT == xmlr.getEventType()) {&lt;br /&gt;
            System.out.println(&lt;br /&gt;
                    &amp;quot;&amp;lt;?xml version=\&amp;quot;&amp;quot; + xmlr.getVersion() + &amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
                    + &amp;quot; encoding=\&amp;quot;&amp;quot; + xmlr.getCharacterEncodingScheme() + &amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
                    + &amp;quot;?&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printComment(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.getEventType() == xmlr.ruMENT) {&lt;br /&gt;
            System.out.print(&amp;quot;&amp;lt;!--&amp;quot; + xmlr.getText() + &amp;quot;--&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printText(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.hasText()) {&lt;br /&gt;
            System.out.print(xmlr.getText());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printPIData(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.getEventType() == XMLEvent.PROCESSING_INSTRUCTION) {&lt;br /&gt;
            System.out.print(&lt;br /&gt;
                    &amp;quot;&amp;lt;?&amp;quot; + xmlr.getPITarget() + &amp;quot; &amp;quot; + xmlr.getPIData() + &amp;quot;?&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printStartElement(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.isStartElement()) {&lt;br /&gt;
            System.out.print(&amp;quot;&amp;lt;&amp;quot; + xmlr.getName().toString());&lt;br /&gt;
            printAttributes(xmlr);&lt;br /&gt;
            System.out.print(&amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printEndElement(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.isEndElement()) {&lt;br /&gt;
            System.out.print(&amp;quot;&amp;lt;/&amp;quot; + xmlr.getName().toString() + &amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printAttributes(XMLStreamReader xmlr) {&lt;br /&gt;
        int count = xmlr.getAttributeCount();&lt;br /&gt;
        if (count &amp;gt; 0) {&lt;br /&gt;
            for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
                System.out.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                System.out.print(xmlr.getAttributeName(i).toString());&lt;br /&gt;
                System.out.print(&amp;quot;=&amp;quot;);&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
                System.out.print(xmlr.getAttributeValue(i));&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        count = xmlr.getNamespaceCount();&lt;br /&gt;
        if (count &amp;gt; 0) {&lt;br /&gt;
            for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
                System.out.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                System.out.print(&amp;quot;xmlns&amp;quot;);&lt;br /&gt;
                if (xmlr.getNamespacePrefix(i) != null) {&lt;br /&gt;
                    System.out.print(&amp;quot;:&amp;quot; + xmlr.getNamespacePrefix(i));&lt;br /&gt;
                }&lt;br /&gt;
                System.out.print(&amp;quot;=&amp;quot;);&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
                System.out.print(xmlr.getNamespaceURI(i));&lt;br /&gt;
                System.out.print(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== StAX is a technology similar to SAX. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.Reader;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamConstants;&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
public class XMLStreamReaderDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    XMLInputFactory factory = XMLInputFactory.newInstance();&lt;br /&gt;
    Reader fileReader = new FileReader(&amp;quot;source.xml&amp;quot;);&lt;br /&gt;
    XMLStreamReader reader = factory.createXMLStreamReader(fileReader);&lt;br /&gt;
    while (reader.hasNext()) {&lt;br /&gt;
      process(reader);&lt;br /&gt;
      reader.next();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static void process(XMLStreamReader reader) {&lt;br /&gt;
    int eventType = reader.getEventType();&lt;br /&gt;
    switch (eventType) {&lt;br /&gt;
    case XMLStreamConstants.START_ELEMENT:&lt;br /&gt;
      System.out.println(&amp;quot;Start element: &amp;quot; + reader.getLocalName());&lt;br /&gt;
      int count = reader.getAttributeCount();&lt;br /&gt;
      for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
        String name = reader.getAttributeLocalName(i);&lt;br /&gt;
        String value = reader.getAttributeValue(i);&lt;br /&gt;
        System.out.println(&amp;quot;\tAttribute name/value: &amp;quot; + name + &amp;quot;/&amp;quot; + value);&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamConstants.END_ELEMENT:&lt;br /&gt;
      System.out.println(&amp;quot;End element: &amp;quot; + reader.getLocalName());&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamConstants.CHARACTERS:&lt;br /&gt;
      System.out.println(&amp;quot;Text: &amp;quot; + reader.getText());&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stax XML cursor read ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
public class STAXCursorRead {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    XMLInputFactory xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
    XMLStreamReader xmlsr = xmlif.createXMLStreamReader(new FileReader(&amp;quot;points.xml&amp;quot;));&lt;br /&gt;
    int eventType;&lt;br /&gt;
    while (xmlsr.hasNext()) {&lt;br /&gt;
      eventType = xmlsr.next();&lt;br /&gt;
      switch (eventType) {&lt;br /&gt;
      case XMLEvent.START_ELEMENT:&lt;br /&gt;
        System.out.println(xmlsr.getName());&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLEvent.CHARACTERS:&lt;br /&gt;
        System.out.println(xmlsr.getText());&lt;br /&gt;
        break;&lt;br /&gt;
      default:&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stax XML iterator read ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import javax.xml.stream.XMLEventReader;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
public class STAXIteratorRead {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    XMLInputFactory xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
    XMLEventReader xmler = xmlif.createXMLEventReader(new FileReader(&amp;quot;yourFile.xml&amp;quot;));&lt;br /&gt;
    XMLEvent event;&lt;br /&gt;
    while (xmler.hasNext()) {&lt;br /&gt;
      event = xmler.nextEvent();&lt;br /&gt;
      if (event.isStartElement()) {&lt;br /&gt;
        System.out.println(event.asStartElement().getName());&lt;br /&gt;
      } else if (event.isCharacters()) {&lt;br /&gt;
        System.out.println(event.asCharacters().getData());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Streaming XML Parser: Stax Event ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import javax.xml.stream.*;&lt;br /&gt;
import javax.xml.stream.events.*;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
&lt;br /&gt;
public class EventParse {&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        String filename = &amp;quot;yourXML.xml&amp;quot;;&lt;br /&gt;
        XMLInputFactory factory = XMLInputFactory.newInstance();&lt;br /&gt;
        System.out.println(&amp;quot;FACTORY: &amp;quot; + factory);&lt;br /&gt;
        XMLEventReader r = factory.createXMLEventReader(filename,new FileInputStream(filename));&lt;br /&gt;
        while (r.hasNext()) {&lt;br /&gt;
            XMLEvent e = r.nextEvent();&lt;br /&gt;
            System.out.println(e.toString());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static final String getEventTypeString(int eventType) {&lt;br /&gt;
        switch (eventType) {&lt;br /&gt;
        case XMLEvent.START_ELEMENT:&lt;br /&gt;
            return &amp;quot;START_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_ELEMENT:&lt;br /&gt;
            return &amp;quot;END_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.PROCESSING_INSTRUCTION:&lt;br /&gt;
            return &amp;quot;PROCESSING_INSTRUCTION&amp;quot;;&lt;br /&gt;
        case XMLEvent.CHARACTERS:&lt;br /&gt;
            return &amp;quot;CHARACTERS&amp;quot;;&lt;br /&gt;
        case XMLEvent.ruMENT:&lt;br /&gt;
            return &amp;quot;COMMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.START_DOCUMENT:&lt;br /&gt;
            return &amp;quot;START_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_DOCUMENT:&lt;br /&gt;
            return &amp;quot;END_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.ENTITY_REFERENCE:&lt;br /&gt;
            return &amp;quot;ENTITY_REFERENCE&amp;quot;;&lt;br /&gt;
        case XMLEvent.ATTRIBUTE:&lt;br /&gt;
            return &amp;quot;ATTRIBUTE&amp;quot;;&lt;br /&gt;
        case XMLEvent.DTD:&lt;br /&gt;
            return &amp;quot;DTD&amp;quot;;&lt;br /&gt;
        case XMLEvent.CDATA:&lt;br /&gt;
            return &amp;quot;CDATA&amp;quot;;&lt;br /&gt;
        case XMLEvent.SPACE:&lt;br /&gt;
            return &amp;quot;SPACE&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return &amp;quot;UNKNOWN_EVENT_TYPE &amp;quot; + &amp;quot;,&amp;quot; + eventType;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Streaming XML Parser: Stax Event Filter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.nio.MappedByteBuffer;&lt;br /&gt;
import java.nio.channels.FileChannel;&lt;br /&gt;
import javax.xml.stream.*;&lt;br /&gt;
import javax.xml.stream.events.*;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
&lt;br /&gt;
public class MyStreamFilter implements javax.xml.stream.StreamFilter {&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        String filename = &amp;quot;yourXML.xml&amp;quot;;&lt;br /&gt;
        XMLInputFactory xmlif = null;&lt;br /&gt;
        xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES,Boolean.TRUE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES,Boolean.FALSE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);&lt;br /&gt;
        xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);&lt;br /&gt;
        System.out.println(&amp;quot;FACTORY: &amp;quot; + xmlif);&lt;br /&gt;
        System.out.println(&amp;quot;filename = &amp;quot; + filename);&lt;br /&gt;
        FileInputStream fis = new FileInputStream(filename);&lt;br /&gt;
        XMLStreamReader xmlr = xmlif.createFilteredReader(xmlif.createXMLStreamReader(fis),new MyStreamFilter());&lt;br /&gt;
        int eventType = xmlr.getEventType();&lt;br /&gt;
        printEventType(eventType);&lt;br /&gt;
        while (xmlr.hasNext()) {&lt;br /&gt;
                eventType = xmlr.next();&lt;br /&gt;
                printEventType(eventType);&lt;br /&gt;
                printName(xmlr, eventType);&lt;br /&gt;
                printText(xmlr);&lt;br /&gt;
                if (xmlr.isStartElement()) {&lt;br /&gt;
                    printAttributes(xmlr);&lt;br /&gt;
                }&lt;br /&gt;
                printPIData(xmlr);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static final String getEventTypeString(int eventType) {&lt;br /&gt;
        switch (eventType) {&lt;br /&gt;
        case XMLEvent.START_ELEMENT:&lt;br /&gt;
            return &amp;quot;START_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_ELEMENT:&lt;br /&gt;
            return &amp;quot;END_ELEMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.PROCESSING_INSTRUCTION:&lt;br /&gt;
            return &amp;quot;PROCESSING_INSTRUCTION&amp;quot;;&lt;br /&gt;
        case XMLEvent.CHARACTERS:&lt;br /&gt;
            return &amp;quot;CHARACTERS&amp;quot;;&lt;br /&gt;
        case XMLEvent.ruMENT:&lt;br /&gt;
            return &amp;quot;COMMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.START_DOCUMENT:&lt;br /&gt;
            return &amp;quot;START_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.END_DOCUMENT:&lt;br /&gt;
            return &amp;quot;END_DOCUMENT&amp;quot;;&lt;br /&gt;
        case XMLEvent.ENTITY_REFERENCE:&lt;br /&gt;
            return &amp;quot;ENTITY_REFERENCE&amp;quot;;&lt;br /&gt;
        case XMLEvent.ATTRIBUTE:&lt;br /&gt;
            return &amp;quot;ATTRIBUTE&amp;quot;;&lt;br /&gt;
        case XMLEvent.DTD:&lt;br /&gt;
            return &amp;quot;DTD&amp;quot;;&lt;br /&gt;
        case XMLEvent.CDATA:&lt;br /&gt;
            return &amp;quot;CDATA&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return &amp;quot;UNKNOWN_EVENT_TYPE&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    private static void printEventType(int eventType) {&lt;br /&gt;
        System.out.print(&amp;quot;EVENT TYPE(&amp;quot; + eventType + &amp;quot;):&amp;quot;);&lt;br /&gt;
        System.out.println(getEventTypeString(eventType));&lt;br /&gt;
    }&lt;br /&gt;
    private static void printName(&lt;br /&gt;
        XMLStreamReader xmlr,&lt;br /&gt;
        int eventType) {&lt;br /&gt;
        if (xmlr.hasName()) {&lt;br /&gt;
            System.out.println(&amp;quot;HAS NAME: &amp;quot; + xmlr.getLocalName());&lt;br /&gt;
        } else {&lt;br /&gt;
            System.out.println(&amp;quot;HAS NO NAME&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printText(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.hasText()) {&lt;br /&gt;
            System.out.println(&amp;quot;HAS TEXT: &amp;quot; + xmlr.getText());&lt;br /&gt;
        } else {&lt;br /&gt;
            System.out.println(&amp;quot;HAS NO TEXT&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printPIData(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.getEventType() == XMLEvent.PROCESSING_INSTRUCTION) {&lt;br /&gt;
            System.out.println(&amp;quot; PI target = &amp;quot; + xmlr.getPITarget());&lt;br /&gt;
            System.out.println(&amp;quot; PI Data = &amp;quot; + xmlr.getPIData());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void printAttributes(XMLStreamReader xmlr) {&lt;br /&gt;
        if (xmlr.getAttributeCount() &amp;gt; 0) {&lt;br /&gt;
            System.out.println(&amp;quot;\nHAS ATTRIBUTES: &amp;quot;);&lt;br /&gt;
            int count = xmlr.getAttributeCount();&lt;br /&gt;
            for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
                QName name = xmlr.getAttributeName(i);&lt;br /&gt;
                String namespace = xmlr.getAttributeNamespace(i);&lt;br /&gt;
                String type = xmlr.getAttributeType(i);&lt;br /&gt;
                String prefix = xmlr.getAttributePrefix(i);&lt;br /&gt;
                String value = xmlr.getAttributeValue(i);&lt;br /&gt;
                System.out.println(&amp;quot;ATTRIBUTE-PREFIX: &amp;quot; + prefix);&lt;br /&gt;
                System.out.println(&amp;quot;ATTRIBUTE-NAMESP: &amp;quot; + namespace);&lt;br /&gt;
                System.out.println(&amp;quot;ATTRIBUTE-NAME:   &amp;quot; + name.toString());&lt;br /&gt;
                System.out.println(&amp;quot;ATTRIBUTE-VALUE:  &amp;quot; + value);&lt;br /&gt;
                System.out.println(&amp;quot;ATTRIBUTE-TYPE:  &amp;quot; + type);&lt;br /&gt;
            }&lt;br /&gt;
        } else {&lt;br /&gt;
            System.out.println(&amp;quot;HAS NO ATTRIBUTES&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public boolean accept(XMLStreamReader reader) {&lt;br /&gt;
        if (!reader.isStartElement() &amp;amp;&amp;amp; !reader.isEndElement()) {&lt;br /&gt;
            return false;&lt;br /&gt;
        } else {&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using XMLEventFactory to create xml document ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.xml.stream.XMLEventFactory;&lt;br /&gt;
import javax.xml.stream.XMLEventWriter;&lt;br /&gt;
import javax.xml.stream.XMLOutputFactory;&lt;br /&gt;
import javax.xml.stream.events.Attribute;&lt;br /&gt;
import javax.xml.stream.events.Characters;&lt;br /&gt;
import javax.xml.stream.events.EndDocument;&lt;br /&gt;
import javax.xml.stream.events.EndElement;&lt;br /&gt;
import javax.xml.stream.events.StartDocument;&lt;br /&gt;
import javax.xml.stream.events.StartElement;&lt;br /&gt;
public class XMLEventWriterDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();&lt;br /&gt;
    XMLEventWriter writer = outputFactory.createXMLEventWriter(System.out);&lt;br /&gt;
    XMLEventFactory xmlEventFactory = XMLEventFactory.newInstance();&lt;br /&gt;
    StartDocument startDocument = xmlEventFactory.createStartDocument(&amp;quot;UTF-8&amp;quot;, &amp;quot;1.0&amp;quot;);&lt;br /&gt;
    writer.add(startDocument);&lt;br /&gt;
    StartElement startElement = xmlEventFactory.createStartElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;My-list&amp;quot;);&lt;br /&gt;
    writer.add(startElement);&lt;br /&gt;
    Attribute attribute = xmlEventFactory.createAttribute(&amp;quot;version&amp;quot;, &amp;quot;1&amp;quot;);&lt;br /&gt;
    List attributeList = Arrays.asList(attribute);&lt;br /&gt;
    List nsList = Arrays.asList();&lt;br /&gt;
    StartElement startElement2 = xmlEventFactory.createStartElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;Item&amp;quot;,&lt;br /&gt;
        attributeList.iterator(), nsList.iterator());&lt;br /&gt;
    writer.add(startElement2);&lt;br /&gt;
    StartElement codeSE = xmlEventFactory.createStartElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;code&amp;quot;);&lt;br /&gt;
    writer.add(codeSE);&lt;br /&gt;
    Characters codeChars = xmlEventFactory.createCharacters(&amp;quot;I001&amp;quot;);&lt;br /&gt;
    writer.add(codeChars);&lt;br /&gt;
    EndElement codeEE = xmlEventFactory.createEndElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;code&amp;quot;);&lt;br /&gt;
    writer.add(codeEE);&lt;br /&gt;
    StartElement nameSE = xmlEventFactory.createStartElement(&amp;quot; &amp;quot;, &amp;quot; &amp;quot;, &amp;quot;name&amp;quot;);&lt;br /&gt;
    writer.add(nameSE);&lt;br /&gt;
    Characters nameChars = xmlEventFactory.createCharacters(&amp;quot;a name&amp;quot;);&lt;br /&gt;
    writer.add(nameChars);&lt;br /&gt;
    EndElement nameEE = xmlEventFactory.createEndElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;name&amp;quot;);&lt;br /&gt;
    writer.add(nameEE);&lt;br /&gt;
    StartElement contactSE = xmlEventFactory.createStartElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;contact&amp;quot;);&lt;br /&gt;
    writer.add(contactSE);&lt;br /&gt;
    Characters contactChars = xmlEventFactory.createCharacters(&amp;quot;another name&amp;quot;);&lt;br /&gt;
    writer.add(contactChars);&lt;br /&gt;
    EndElement contactEE = xmlEventFactory.createEndElement(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;contact&amp;quot;);&lt;br /&gt;
    writer.add(contactEE);&lt;br /&gt;
    EndDocument ed = xmlEventFactory.createEndDocument();&lt;br /&gt;
    writer.add(ed);&lt;br /&gt;
    writer.flush();&lt;br /&gt;
    writer.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using XMLStreamWriter to create XML file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import javax.xml.stream.XMLOutputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamWriter;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
public class CursorWriter {&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        String fileName = &amp;quot;yourXML.xml&amp;quot;;&lt;br /&gt;
        XMLOutputFactory xof = XMLOutputFactory.newInstance();&lt;br /&gt;
        XMLStreamWriter xtw = null;&lt;br /&gt;
        xtw = xof.createXMLStreamWriter(new FileWriter(fileName));&lt;br /&gt;
        xtw.writeComment(&amp;quot;all elements here are explicitly in the HTML namespace&amp;quot;);&lt;br /&gt;
        xtw.writeStartDocument(&amp;quot;utf-8&amp;quot;, &amp;quot;1.0&amp;quot;);&lt;br /&gt;
        xtw.setPrefix(&amp;quot;html&amp;quot;, &amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;);&lt;br /&gt;
        xtw.writeStartElement(&amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;, &amp;quot;html&amp;quot;);&lt;br /&gt;
        xtw.writeNamespace(&amp;quot;html&amp;quot;, &amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;);&lt;br /&gt;
        xtw.writeStartElement(&amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;, &amp;quot;head&amp;quot;);&lt;br /&gt;
        xtw.writeStartElement(&amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;, &amp;quot;title&amp;quot;);&lt;br /&gt;
        xtw.writeCharacters(&amp;quot;character&amp;quot;);&lt;br /&gt;
        xtw.writeEndElement();&lt;br /&gt;
        xtw.writeEndElement();&lt;br /&gt;
        xtw.writeStartElement(&amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;, &amp;quot;body&amp;quot;);&lt;br /&gt;
        xtw.writeStartElement(&amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
        xtw.writeCharacters(&amp;quot;another character&amp;quot;);&lt;br /&gt;
        xtw.writeStartElement(&amp;quot;http://www.w3.org/TR/REC-html40&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
        xtw.writeAttribute(&amp;quot;href&amp;quot;, &amp;quot;http://www.jexp.ru&amp;quot;);&lt;br /&gt;
        xtw.writeCharacters(&amp;quot;here&amp;quot;);&lt;br /&gt;
        xtw.writeEndElement();&lt;br /&gt;
        xtw.writeEndElement();&lt;br /&gt;
        xtw.writeEndElement();&lt;br /&gt;
        xtw.writeEndElement();&lt;br /&gt;
        xtw.writeEndDocument();&lt;br /&gt;
        xtw.flush();&lt;br /&gt;
        xtw.close();&lt;br /&gt;
        System.out.println(&amp;quot;Done&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XMLEventReader and XMLEventWriter for Stax XML parser ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import javax.xml.stream.XMLEventFactory;&lt;br /&gt;
import javax.xml.stream.XMLEventReader;&lt;br /&gt;
import javax.xml.stream.XMLEventWriter;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLOutputFactory;&lt;br /&gt;
import javax.xml.stream.events.Characters;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
&lt;br /&gt;
class StaxEvent {&lt;br /&gt;
    XMLEventFactory m_eventFactory = XMLEventFactory.newInstance();&lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
            StaxEvent ms = new StaxEvent();&lt;br /&gt;
            XMLEventReader reader = XMLInputFactory.newInstance().createXMLEventReader(new java.io.FileInputStream(&amp;quot;yourXML.xml&amp;quot;));&lt;br /&gt;
            XMLEventWriter writer = XMLOutputFactory.newInstance().createXMLEventWriter(System.out);&lt;br /&gt;
            while (reader.hasNext()) {&lt;br /&gt;
                XMLEvent event = (XMLEvent) reader.next();&lt;br /&gt;
                if (event.getEventType() == event.CHARACTERS) {&lt;br /&gt;
                    writer.add(ms.getNewCharactersEvent(event.asCharacters()));&lt;br /&gt;
                } else {&lt;br /&gt;
                    writer.add(event);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            writer.flush();&lt;br /&gt;
    }&lt;br /&gt;
    private Characters getNewCharactersEvent(Characters event) {&lt;br /&gt;
        if (event.getData().equalsIgnoreCase(&amp;quot;Name1&amp;quot;)) {&lt;br /&gt;
            return m_eventFactory.createCharacters(Calendar.getInstance().getTime().toString());&lt;br /&gt;
        } else {&lt;br /&gt;
            return event;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XMLEventReader Demo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.Reader;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
import javax.xml.stream.XMLEventReader;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.events.Attribute;&lt;br /&gt;
import javax.xml.stream.events.Characters;&lt;br /&gt;
import javax.xml.stream.events.EndElement;&lt;br /&gt;
import javax.xml.stream.events.StartElement;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
public class XMLEventReaderDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    XMLInputFactory factory = XMLInputFactory.newInstance();&lt;br /&gt;
    Reader fileReader = new FileReader(&amp;quot;Source.xml&amp;quot;);&lt;br /&gt;
    XMLEventReader reader = factory.createXMLEventReader(fileReader);&lt;br /&gt;
    while (reader.hasNext()) {&lt;br /&gt;
      XMLEvent event = reader.nextEvent();&lt;br /&gt;
      if (event.isStartElement()) {&lt;br /&gt;
        StartElement element = (StartElement) event;&lt;br /&gt;
        System.out.println(&amp;quot;Start Element: &amp;quot; + element.getName());&lt;br /&gt;
        Iterator iterator = element.getAttributes();&lt;br /&gt;
        while (iterator.hasNext()) {&lt;br /&gt;
          Attribute attribute = (Attribute) iterator.next();&lt;br /&gt;
          QName name = attribute.getName();&lt;br /&gt;
          String value = attribute.getValue();&lt;br /&gt;
          System.out.println(&amp;quot;Attribute name/value: &amp;quot; + name + &amp;quot;/&amp;quot; + value);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (event.isEndElement()) {&lt;br /&gt;
        EndElement element = (EndElement) event;&lt;br /&gt;
        System.out.println(&amp;quot;End element:&amp;quot; + element.getName());&lt;br /&gt;
      }&lt;br /&gt;
      if (event.isCharacters()) {&lt;br /&gt;
        Characters characters = (Characters) event;&lt;br /&gt;
        System.out.println(&amp;quot;Text: &amp;quot; + characters.getData());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XMLStreamWriter Demo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.xml.stream.XMLOutputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamWriter;&lt;br /&gt;
public class XMLStreamWriterDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    XMLOutputFactory factory = XMLOutputFactory.newInstance();&lt;br /&gt;
    XMLStreamWriter writer = factory.createXMLStreamWriter(System.out);&lt;br /&gt;
    writer.writeStartDocument(&amp;quot;1.0&amp;quot;);&lt;br /&gt;
    writer.writeStartElement(&amp;quot;catalog&amp;quot;);&lt;br /&gt;
    writer.writeStartElement(&amp;quot;book&amp;quot;);&lt;br /&gt;
    writer.writeAttribute(&amp;quot;id&amp;quot;, &amp;quot;1&amp;quot;);&lt;br /&gt;
    writer.writeStartElement(&amp;quot;code&amp;quot;);&lt;br /&gt;
    writer.writeCharacters(&amp;quot;I01&amp;quot;);&lt;br /&gt;
    writer.writeEndElement();&lt;br /&gt;
    writer.writeStartElement(&amp;quot;title&amp;quot;);&lt;br /&gt;
    writer.writeCharacters(&amp;quot;This is the title&amp;quot;);&lt;br /&gt;
    writer.writeEndElement();&lt;br /&gt;
    writer.writeStartElement(&amp;quot;price&amp;quot;);&lt;br /&gt;
    writer.writeCharacters(&amp;quot;$2.95&amp;quot;);&lt;br /&gt;
    writer.writeEndElement();&lt;br /&gt;
    writer.writeEndDocument();&lt;br /&gt;
    writer.flush();&lt;br /&gt;
    writer.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>