<?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%2FJSP%2FXML</id>
		<title>Java Tutorial/JSP/XML - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FJSP%2FXML"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/JSP/XML&amp;action=history"/>
		<updated>2026-04-21T23:06:13Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/JSP/XML&amp;diff=5040&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/JSP/XML&amp;diff=5040&amp;oldid=prev"/>
				<updated>2010-06-01T05:07:29Z</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:07, 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/JSP/XML&amp;diff=5039&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/JSP/XML&amp;diff=5039&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;==  DOM Parser In JSP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Jsp code&amp;lt;/p&amp;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;
&amp;lt;!--&lt;br /&gt;
Sams Teach Yourself JavaServer Pages in 21 Days (Paperback)&lt;br /&gt;
by Steven Holzner (Author), Steve Holzner (Author)&lt;br /&gt;
# Publisher: Sams; 1st edition (September 19, 2002)&lt;br /&gt;
# Language: English&lt;br /&gt;
# ISBN-10: 0672324490&lt;br /&gt;
# ISBN-13: 978-0672324499&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;%@ page import=&amp;quot;javax.xml.parsers.*, org.xml.sax.*, org.xml.sax.helpers.*, org.w3c.dom.*, java.io.*&amp;quot;&lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
&amp;lt;%!&lt;br /&gt;
public class xparser &lt;br /&gt;
{&lt;br /&gt;
    String displayStrings[] = new String[1000];&lt;br /&gt;
    int numberDisplayLines = 0;&lt;br /&gt;
    public String[] displayDocument(String uri) &lt;br /&gt;
    {&lt;br /&gt;
        try {&lt;br /&gt;
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();&lt;br /&gt;
        DocumentBuilder db = null;&lt;br /&gt;
        try {&lt;br /&gt;
            db = dbf.newDocumentBuilder();&lt;br /&gt;
        } &lt;br /&gt;
        catch (ParserConfigurationException pce) {}&lt;br /&gt;
        Document document = null;&lt;br /&gt;
        document = db.parse(uri);&lt;br /&gt;
        numberDisplayLines = 0;&lt;br /&gt;
        display(document, &amp;quot;&amp;quot;);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            e.printStackTrace(System.err);&lt;br /&gt;
        }&lt;br /&gt;
        return displayStrings;&lt;br /&gt;
    } &lt;br /&gt;
    public void display(Node node, String indent) &lt;br /&gt;
    {&lt;br /&gt;
        if (node == null) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        int type = node.getNodeType();&lt;br /&gt;
        switch (type) {&lt;br /&gt;
            case Node.DOCUMENT_NODE: {&lt;br /&gt;
                displayStrings[numberDisplayLines] = indent;&lt;br /&gt;
                displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;lt;?xml version=\&amp;quot;1.0\&amp;quot; encoding=\&amp;quot;&amp;quot;+&lt;br /&gt;
                  &amp;quot;UTF-8&amp;quot; + &amp;quot;\&amp;quot;?&amp;amp;gt;&amp;quot;;&lt;br /&gt;
                numberDisplayLines++;&lt;br /&gt;
                display(((Document)node).getDocumentElement(), &amp;quot;&amp;quot;);&lt;br /&gt;
                break;&lt;br /&gt;
             }&lt;br /&gt;
             case Node.ELEMENT_NODE: {&lt;br /&gt;
                 displayStrings[numberDisplayLines] = indent;&lt;br /&gt;
                 displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;lt;&amp;quot;;&lt;br /&gt;
                 displayStrings[numberDisplayLines] += node.getNodeName();&lt;br /&gt;
                 int length = (node.getAttributes() != null) ? node.getAttributes().getLength() : 0;&lt;br /&gt;
                 Attr attributes[] = new Attr[length];&lt;br /&gt;
                 for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
                     attributes[i] = (Attr)node.getAttributes().item(i);&lt;br /&gt;
                 }&lt;br /&gt;
                 for (int i = 0; i &amp;lt; attributes.length; i++) {&lt;br /&gt;
                     Attr attribute = attributes[i];&lt;br /&gt;
                     displayStrings[numberDisplayLines] += &amp;quot; &amp;quot;;&lt;br /&gt;
                     displayStrings[numberDisplayLines] += attribute.getNodeName();&lt;br /&gt;
                     displayStrings[numberDisplayLines] += &amp;quot;=\&amp;quot;&amp;quot;;&lt;br /&gt;
                     displayStrings[numberDisplayLines] += attribute.getNodeValue();&lt;br /&gt;
                     displayStrings[numberDisplayLines] += &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
                 }&lt;br /&gt;
                 displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;gt;&amp;quot;;&lt;br /&gt;
                 numberDisplayLines++;&lt;br /&gt;
                 NodeList childNodes = node.getChildNodes();&lt;br /&gt;
                 if (childNodes != null) {&lt;br /&gt;
                     length = childNodes.getLength();&lt;br /&gt;
                     indent += &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;;   &lt;br /&gt;
                     for (int i = 0; i &amp;lt; length; i++ ) {&lt;br /&gt;
                        display(childNodes.item(i), indent);&lt;br /&gt;
                     }&lt;br /&gt;
                 }&lt;br /&gt;
                 break;&lt;br /&gt;
             }&lt;br /&gt;
             case Node.CDATA_SECTION_NODE: {&lt;br /&gt;
                 displayStrings[numberDisplayLines] = indent;&lt;br /&gt;
                 displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;lt;![CDATA[&amp;quot;;&lt;br /&gt;
                 displayStrings[numberDisplayLines] += node.getNodeValue();&lt;br /&gt;
                 displayStrings[numberDisplayLines] += &amp;quot;]]&amp;amp;gt;&amp;quot;;&lt;br /&gt;
                 numberDisplayLines++;&lt;br /&gt;
                 break;&lt;br /&gt;
             }&lt;br /&gt;
             case Node.TEXT_NODE: {&lt;br /&gt;
                 displayStrings[numberDisplayLines] = indent;&lt;br /&gt;
                 String newText = node.getNodeValue().trim();&lt;br /&gt;
                 if(newText.indexOf(&amp;quot;\n&amp;quot;) &amp;lt; 0 &amp;amp;&amp;amp; newText.length() &amp;gt; 0) {&lt;br /&gt;
                     displayStrings[numberDisplayLines] += newText;&lt;br /&gt;
                     numberDisplayLines++;&lt;br /&gt;
                 }&lt;br /&gt;
                 break;&lt;br /&gt;
             }&lt;br /&gt;
             case Node.PROCESSING_INSTRUCTION_NODE: {&lt;br /&gt;
                 displayStrings[numberDisplayLines] = indent;&lt;br /&gt;
                 displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;lt;?&amp;quot;;&lt;br /&gt;
                 displayStrings[numberDisplayLines] += node.getNodeName();&lt;br /&gt;
                 String text = node.getNodeValue();&lt;br /&gt;
                 if (text != null &amp;amp;&amp;amp; text.length() &amp;gt; 0) {&lt;br /&gt;
                     displayStrings[numberDisplayLines] += text;&lt;br /&gt;
                 }&lt;br /&gt;
                 displayStrings[numberDisplayLines] += &amp;quot;?&amp;amp;gt;&amp;quot;;&lt;br /&gt;
                 numberDisplayLines++;&lt;br /&gt;
                 break;&lt;br /&gt;
            }    &lt;br /&gt;
        }&lt;br /&gt;
        if (type == Node.ELEMENT_NODE) {&lt;br /&gt;
            displayStrings[numberDisplayLines] = indent.substring(0, indent.length() - 24);&lt;br /&gt;
            displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;lt;/&amp;quot;;&lt;br /&gt;
            displayStrings[numberDisplayLines] += node.getNodeName();&lt;br /&gt;
            displayStrings[numberDisplayLines] += &amp;quot;&amp;amp;gt;&amp;quot;;&lt;br /&gt;
            numberDisplayLines++;&lt;br /&gt;
            indent += &amp;quot;    &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
  &amp;lt;HEAD&amp;gt;&lt;br /&gt;
    &amp;lt;TITLE&amp;gt;Parsing an XML Document With DOM&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
  &amp;lt;/HEAD&amp;gt;&lt;br /&gt;
  &amp;lt;BODY&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Parsing an XML Document With DOM&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;% xparser p = new xparser(); &lt;br /&gt;
        String[] s = p.displayDocument(application.getRealPath(&amp;quot;/&amp;quot;) + &amp;quot;test.xml&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
        for(int i = 0; i &amp;lt; s.length; i++){&lt;br /&gt;
            if(s[i] != null){&lt;br /&gt;
    %&amp;gt;&lt;br /&gt;
            &amp;lt;%= s[i] %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    &amp;lt;%&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    %&amp;gt;&lt;br /&gt;
    &amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;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;
&lt;br /&gt;
==  JSP SAX Parser ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Jsp code&amp;lt;/p&amp;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;
&amp;lt;!--&lt;br /&gt;
Sams Teach Yourself JavaServer Pages in 21 Days (Paperback)&lt;br /&gt;
by Steven Holzner (Author), Steve Holzner (Author)&lt;br /&gt;
# Publisher: Sams; 1st edition (September 19, 2002)&lt;br /&gt;
# Language: English&lt;br /&gt;
# ISBN-10: 0672324490&lt;br /&gt;
# ISBN-13: 978-0672324499&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;%@ page import=&amp;quot;org.xml.sax.*, org.xml.sax.helpers.DefaultHandler, javax.xml.parsers.*, java.io.*&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%!&lt;br /&gt;
javax.servlet.jsp.JspWriter localOut;&lt;br /&gt;
public class parser extends DefaultHandler&lt;br /&gt;
{&lt;br /&gt;
    String indent = &amp;quot;&amp;quot;;&lt;br /&gt;
    void parse(String name) &lt;br /&gt;
    {&lt;br /&gt;
        DefaultHandler handler = this;&lt;br /&gt;
        SAXParserFactory factory = SAXParserFactory.newInstance();&lt;br /&gt;
        try {&lt;br /&gt;
            SAXParser saxParser = factory.newSAXParser();&lt;br /&gt;
            saxParser.parse(new File(name), handler);&lt;br /&gt;
        } catch (Throwable t) {}&lt;br /&gt;
    }&lt;br /&gt;
    public void startDocument() throws SAXException&lt;br /&gt;
    {&lt;br /&gt;
        try{&lt;br /&gt;
            localOut.println(&amp;quot;&amp;amp;lt;?xml version=\&amp;quot;1.0\&amp;quot; encoding=\&amp;quot;&amp;quot;+&amp;quot;UTF-8&amp;quot; + &amp;quot;\&amp;quot;?&amp;amp;gt;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        catch(java.io.IOException e){}&lt;br /&gt;
    }&lt;br /&gt;
    public void endDocument() throws SAXException &lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
    public void startElement(String namespaceURI, String localName, String qualifiedName, Attributes attrs)&lt;br /&gt;
    throws SAXException &lt;br /&gt;
    {&lt;br /&gt;
        try{&lt;br /&gt;
            String elementName = localName; &lt;br /&gt;
            if (&amp;quot;&amp;quot;.equals(elementName)) {&lt;br /&gt;
                elementName = qualifiedName; &lt;br /&gt;
            }&lt;br /&gt;
            localOut.println(indent + &amp;quot;&amp;amp;lt;&amp;quot; + elementName);&lt;br /&gt;
            if (attrs != null) {&lt;br /&gt;
                for (int i = 0; i &amp;lt; attrs.getLength(); i++) {&lt;br /&gt;
                    String attributeName = attrs.getLocalName(i);  &lt;br /&gt;
                    if (&amp;quot;&amp;quot;.equals(attributeName)) attributeName = attrs.getQName(i);&lt;br /&gt;
                    localOut.println(attributeName + &amp;quot;=&amp;quot;);&lt;br /&gt;
                    localOut.println(&amp;quot;\&amp;quot;&amp;quot; + attrs.getValue(i) + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            localOut.println(&amp;quot;&amp;amp;gt;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
            indent += &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;;   &lt;br /&gt;
        }&lt;br /&gt;
        catch(java.io.IOException e){}&lt;br /&gt;
    }&lt;br /&gt;
    public void endElement(String namespaceURI, String localName, String qualifiedName)&lt;br /&gt;
    throws SAXException &lt;br /&gt;
    {&lt;br /&gt;
        try{&lt;br /&gt;
            String elementName = localName; &lt;br /&gt;
            if (&amp;quot;&amp;quot;.equals(elementName)) {&lt;br /&gt;
                elementName = qualifiedName; &lt;br /&gt;
            }&lt;br /&gt;
            indent = indent.substring(0, indent.length() - 24);&lt;br /&gt;
            localOut.println(indent + &amp;quot;&amp;amp;lt;/&amp;quot; + elementName + &amp;quot;&amp;amp;gt;&amp;quot;);&lt;br /&gt;
            localOut.println(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        catch(java.io.IOException e){}&lt;br /&gt;
    }&lt;br /&gt;
    public void characters(char buf[], int offset, int len)&lt;br /&gt;
    throws SAXException&lt;br /&gt;
    {&lt;br /&gt;
        try{&lt;br /&gt;
            String s = new String(buf, offset, len);&lt;br /&gt;
            if (!s.trim().equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
                localOut.println(indent + &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot; + s);&lt;br /&gt;
                localOut.println(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;); &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch(java.io.IOException e){}&lt;br /&gt;
    }&lt;br /&gt;
}        &lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
    &amp;lt;HEAD&amp;gt;&lt;br /&gt;
        &amp;lt;TITLE&amp;gt;Parsing an XML Document with SAX&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
    &amp;lt;/HEAD&amp;gt;&lt;br /&gt;
    &amp;lt;BODY&amp;gt;&lt;br /&gt;
        &amp;lt;H1&amp;gt;Parsing an XML Document with SAX&amp;lt;/H1&amp;gt;&lt;br /&gt;
    &amp;lt;%&lt;br /&gt;
        localOut = out;&lt;br /&gt;
        parser p = new parser();&lt;br /&gt;
        p.parse(application.getRealPath(&amp;quot;/&amp;quot;) + &amp;quot;test.xml&amp;quot;);&lt;br /&gt;
    %&amp;gt;&lt;br /&gt;
    &amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;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>