<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FXML%2FXMLStreamReader</id>
		<title>Java Tutorial/XML/XMLStreamReader - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FXML%2FXMLStreamReader"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/XML/XMLStreamReader&amp;action=history"/>
		<updated>2026-04-19T01:49:14Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/XML/XMLStreamReader&amp;diff=5122&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/XML/XMLStreamReader&amp;diff=5122&amp;oldid=prev"/>
				<updated>2010-06-01T05:18:07Z</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;Версия 05:18, 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://www.jexp.ru/index.php?title=Java_Tutorial/XML/XMLStreamReader&amp;diff=5121&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/XML/XMLStreamReader&amp;diff=5121&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</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;==  Debugging utilities for XmlStreamReader ==&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;
/*   Copyright 2004 The Apache Software Foundation&lt;br /&gt;
 *&lt;br /&gt;
 *   Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 *   you may not use this file except in compliance with the License.&lt;br /&gt;
 *   You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *       http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *   Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *   distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *   See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
// Revised from xml beans&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
/**&lt;br /&gt;
 * debugging utilities for XmlStreamReader&lt;br /&gt;
 */&lt;br /&gt;
public final class XmlStreamUtils {&lt;br /&gt;
  public static String printEvent(XMLStreamReader xmlr) {&lt;br /&gt;
    StringBuffer b = new StringBuffer();&lt;br /&gt;
    b.append(&amp;quot;EVENT:[&amp;quot; + xmlr.getLocation().getLineNumber() + &amp;quot;][&amp;quot;&lt;br /&gt;
        + xmlr.getLocation().getColumnNumber() + &amp;quot;] &amp;quot;);&lt;br /&gt;
    b.append(getName(xmlr.getEventType()));&lt;br /&gt;
    b.append(&amp;quot; [&amp;quot;);&lt;br /&gt;
    switch (xmlr.getEventType()) {&lt;br /&gt;
    case XMLStreamReader.START_ELEMENT:&lt;br /&gt;
      b.append(&amp;quot;&amp;lt;&amp;quot;);&lt;br /&gt;
      printName(xmlr, b);&lt;br /&gt;
      for (int i = 0; i &amp;lt; xmlr.getNamespaceCount(); i++) {&lt;br /&gt;
        b.append(&amp;quot; &amp;quot;);&lt;br /&gt;
        String n = xmlr.getNamespacePrefix(i);&lt;br /&gt;
        if (&amp;quot;xmlns&amp;quot;.equals(n)) {&lt;br /&gt;
          b.append(&amp;quot;xmlns=\&amp;quot;&amp;quot; + xmlr.getNamespaceURI(i) + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
          b.append(&amp;quot;xmlns:&amp;quot; + n);&lt;br /&gt;
          b.append(&amp;quot;=\&amp;quot;&amp;quot;);&lt;br /&gt;
          b.append(xmlr.getNamespaceURI(i));&lt;br /&gt;
          b.append(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      for (int i = 0; i &amp;lt; xmlr.getAttributeCount(); i++) {&lt;br /&gt;
        b.append(&amp;quot; &amp;quot;);&lt;br /&gt;
        printName(xmlr.getAttributePrefix(i), xmlr.getAttributeNamespace(i), xmlr&lt;br /&gt;
            .getAttributeLocalName(i), b);&lt;br /&gt;
        b.append(&amp;quot;=\&amp;quot;&amp;quot;);&lt;br /&gt;
        b.append(xmlr.getAttributeValue(i));&lt;br /&gt;
        b.append(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      b.append(&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.END_ELEMENT:&lt;br /&gt;
      b.append(&amp;quot;&amp;lt;/&amp;quot;);&lt;br /&gt;
      printName(xmlr, b);&lt;br /&gt;
      for (int i = 0; i &amp;lt; xmlr.getNamespaceCount(); i++) {&lt;br /&gt;
        b.append(&amp;quot; &amp;quot;);&lt;br /&gt;
        String n = xmlr.getNamespacePrefix(i);&lt;br /&gt;
        if (&amp;quot;xmlns&amp;quot;.equals(n)) {&lt;br /&gt;
          b.append(&amp;quot;xmlns=\&amp;quot;&amp;quot; + xmlr.getNamespaceURI(i) + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
          b.append(&amp;quot;xmlns:&amp;quot; + n);&lt;br /&gt;
          b.append(&amp;quot;=\&amp;quot;&amp;quot;);&lt;br /&gt;
          b.append(xmlr.getNamespaceURI(i));&lt;br /&gt;
          b.append(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      b.append(&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.SPACE:&lt;br /&gt;
    case XMLStreamReader.CHARACTERS:&lt;br /&gt;
      // b.append(xmlr.getText());&lt;br /&gt;
      int start = xmlr.getTextStart();&lt;br /&gt;
      int length = xmlr.getTextLength();&lt;br /&gt;
      b.append(new String(xmlr.getTextCharacters(), start, length));&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.PROCESSING_INSTRUCTION:&lt;br /&gt;
      String target = xmlr.getPITarget();&lt;br /&gt;
      if (target == null)&lt;br /&gt;
        target = &amp;quot;&amp;quot;;&lt;br /&gt;
      String data = xmlr.getPIData();&lt;br /&gt;
      if (data == null)&lt;br /&gt;
        data = &amp;quot;&amp;quot;;&lt;br /&gt;
      b.append(&amp;quot;&amp;lt;?&amp;quot;);&lt;br /&gt;
      b.append(target + &amp;quot; &amp;quot; + data);&lt;br /&gt;
      b.append(&amp;quot;?&amp;gt;&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.CDATA:&lt;br /&gt;
      b.append(&amp;quot;&amp;lt;![CDATA[&amp;quot;);&lt;br /&gt;
      if (xmlr.hasText())&lt;br /&gt;
        b.append(xmlr.getText());&lt;br /&gt;
      b.append(&amp;quot;]]&amp;amp;gt;&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.ruMENT:&lt;br /&gt;
      b.append(&amp;quot;&amp;lt;!--&amp;quot;);&lt;br /&gt;
      if (xmlr.hasText())&lt;br /&gt;
        b.append(xmlr.getText());&lt;br /&gt;
      b.append(&amp;quot;--&amp;gt;&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.ENTITY_REFERENCE:&lt;br /&gt;
      b.append(xmlr.getLocalName() + &amp;quot;=&amp;quot;);&lt;br /&gt;
      if (xmlr.hasText())&lt;br /&gt;
        b.append(&amp;quot;[&amp;quot; + xmlr.getText() + &amp;quot;]&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case XMLStreamReader.START_DOCUMENT:&lt;br /&gt;
      b.append(&amp;quot;&amp;lt;?xml&amp;quot;);&lt;br /&gt;
      b.append(&amp;quot; version=&amp;quot;&amp;quot; + xmlr.getVersion() + &amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
      b.append(&amp;quot; encoding=&amp;quot;&amp;quot; + xmlr.getCharacterEncodingScheme() + &amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
      if (xmlr.isStandalone())&lt;br /&gt;
        b.append(&amp;quot; standalone=&amp;quot;yes&amp;quot;&amp;quot;);&lt;br /&gt;
      else&lt;br /&gt;
        b.append(&amp;quot; standalone=&amp;quot;no&amp;quot;&amp;quot;);&lt;br /&gt;
      b.append(&amp;quot;?&amp;gt;&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    b.append(&amp;quot;]&amp;quot;);&lt;br /&gt;
    return b.toString();&lt;br /&gt;
  }&lt;br /&gt;
  private static void printName(String prefix, String uri, String localName, StringBuffer b) {&lt;br /&gt;
    if (uri != null &amp;amp;&amp;amp; !(&amp;quot;&amp;quot;.equals(uri)))&lt;br /&gt;
      b.append(&amp;quot;[&amp;quot;&amp;quot; + uri + &amp;quot;&amp;quot;]:&amp;quot;);&lt;br /&gt;
    if (prefix != null &amp;amp;&amp;amp; !(&amp;quot;&amp;quot;.equals(prefix)))&lt;br /&gt;
      b.append(prefix + &amp;quot;:&amp;quot;);&lt;br /&gt;
    if (localName != null)&lt;br /&gt;
      b.append(localName);&lt;br /&gt;
  }&lt;br /&gt;
  private static void printName(XMLStreamReader xmlr, StringBuffer b) {&lt;br /&gt;
    if (xmlr.hasName()) {&lt;br /&gt;
      String prefix = xmlr.getPrefix();&lt;br /&gt;
      String uri = xmlr.getNamespaceURI();&lt;br /&gt;
      String localName = xmlr.getLocalName();&lt;br /&gt;
      printName(prefix, uri, localName, b);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static String getName(int eventType) {&lt;br /&gt;
    switch (eventType) {&lt;br /&gt;
    case XMLStreamReader.START_ELEMENT:&lt;br /&gt;
      return &amp;quot;START_ELEMENT&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.END_ELEMENT:&lt;br /&gt;
      return &amp;quot;END_ELEMENT&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.PROCESSING_INSTRUCTION:&lt;br /&gt;
      return &amp;quot;PROCESSING_INSTRUCTION&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.CHARACTERS:&lt;br /&gt;
      return &amp;quot;CHARACTERS&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.SPACE:&lt;br /&gt;
      return &amp;quot;SPACE&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.ruMENT:&lt;br /&gt;
      return &amp;quot;COMMENT&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.START_DOCUMENT:&lt;br /&gt;
      return &amp;quot;START_DOCUMENT&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.END_DOCUMENT:&lt;br /&gt;
      return &amp;quot;END_DOCUMENT&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.ENTITY_REFERENCE:&lt;br /&gt;
      return &amp;quot;ENTITY_REFERENCE&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.ATTRIBUTE:&lt;br /&gt;
      return &amp;quot;ATTRIBUTE&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.DTD:&lt;br /&gt;
      return &amp;quot;DTD&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.CDATA:&lt;br /&gt;
      return &amp;quot;CDATA&amp;quot;;&lt;br /&gt;
    case XMLStreamReader.NAMESPACE:&lt;br /&gt;
      return &amp;quot;NAMESPACE&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    return &amp;quot;UNKNOWN_EVENT_TYPE&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  public static int getType(String val) {&lt;br /&gt;
    if (val.equals(&amp;quot;START_ELEMENT&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.START_ELEMENT;&lt;br /&gt;
    if (val.equals(&amp;quot;SPACE&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.SPACE;&lt;br /&gt;
    if (val.equals(&amp;quot;END_ELEMENT&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.END_ELEMENT;&lt;br /&gt;
    if (val.equals(&amp;quot;PROCESSING_INSTRUCTION&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.PROCESSING_INSTRUCTION;&lt;br /&gt;
    if (val.equals(&amp;quot;CHARACTERS&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.CHARACTERS;&lt;br /&gt;
    if (val.equals(&amp;quot;COMMENT&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.ruMENT;&lt;br /&gt;
    if (val.equals(&amp;quot;START_DOCUMENT&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.START_DOCUMENT;&lt;br /&gt;
    if (val.equals(&amp;quot;END_DOCUMENT&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.END_DOCUMENT;&lt;br /&gt;
    if (val.equals(&amp;quot;ATTRIBUTE&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.ATTRIBUTE;&lt;br /&gt;
    if (val.equals(&amp;quot;DTD&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.DTD;&lt;br /&gt;
    if (val.equals(&amp;quot;CDATA&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.CDATA;&lt;br /&gt;
    if (val.equals(&amp;quot;NAMESPACE&amp;quot;))&lt;br /&gt;
      return XMLStreamReader.NAMESPACE;&lt;br /&gt;
    return -1;&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;
==  XMLStreamReader with events ==&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;
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.XMLStreamReader;&lt;br /&gt;
public class EntityReferenceTest {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    XMLInputFactory inputFactory = XMLInputFactory.newInstance();&lt;br /&gt;
    inputFactory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);&lt;br /&gt;
    inputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.TRUE);&lt;br /&gt;
    XMLStreamReader reader = inputFactory.createXMLStreamReader(new FileInputStream(&amp;quot;e.xml&amp;quot;));&lt;br /&gt;
    while (reader.hasNext()) {&lt;br /&gt;
      int event = reader.next();&lt;br /&gt;
      if (event == XMLStreamConstants.CHARACTERS)&lt;br /&gt;
        System.out.println(reader.getText());&lt;br /&gt;
      else if (event == XMLStreamConstants.ENTITY_REFERENCE) {&lt;br /&gt;
        System.out.println(&amp;quot;en: &amp;quot; + reader.getLocalName());&lt;br /&gt;
        System.out.println(&amp;quot;er: &amp;quot; + reader.getText());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    inputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE);&lt;br /&gt;
    reader = inputFactory.createXMLStreamReader(new FileInputStream(&amp;quot;e.xml&amp;quot;));&lt;br /&gt;
    while (reader.hasNext()) {&lt;br /&gt;
      int event = reader.next();&lt;br /&gt;
      if (event == XMLStreamConstants.CHARACTERS)&lt;br /&gt;
        System.out.println(reader.getText());&lt;br /&gt;
      else if (event == XMLStreamConstants.ENTITY_REFERENCE) {&lt;br /&gt;
        System.out.println(&amp;quot;en: &amp;quot; + reader.getLocalName());&lt;br /&gt;
        System.out.println(&amp;quot;er: &amp;quot; + reader.getText());&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;/div&gt;</summary>
			</entry>

	</feed>