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

	<entry>
		<id>http://jexp.ru/index.php?title=Java/XML/DOM_Action&amp;diff=8821&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/XML/DOM_Action&amp;diff=8821&amp;oldid=prev"/>
				<updated>2010-06-01T07:19:28Z</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;Версия 07:19, 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/XML/DOM_Action&amp;diff=8820&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/XML/DOM_Action&amp;diff=8820&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:47Z</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;== Access Document type ==&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.File;&lt;br /&gt;
import javax.xml.parsers.DocumentBuilder;&lt;br /&gt;
import javax.xml.parsers.DocumentBuilderFactory;&lt;br /&gt;
import org.w3c.dom.Attr;&lt;br /&gt;
import org.w3c.dom.Document;&lt;br /&gt;
import org.w3c.dom.DocumentType;&lt;br /&gt;
import org.w3c.dom.Element;&lt;br /&gt;
import org.w3c.dom.NamedNodeMap;&lt;br /&gt;
import org.w3c.dom.Node;&lt;br /&gt;
import org.w3c.dom.NodeList;&lt;br /&gt;
import org.xml.sax.ErrorHandler;&lt;br /&gt;
import org.xml.sax.SAXException;&lt;br /&gt;
import org.xml.sax.SAXParseException;&lt;br /&gt;
public class TryDOM implements ErrorHandler {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    DocumentBuilderFactory builderFactory = DocumentBuilderFactory&lt;br /&gt;
        .newInstance();&lt;br /&gt;
    builderFactory.setNamespaceAware(true);&lt;br /&gt;
    builderFactory.setValidating(true);&lt;br /&gt;
    builderFactory.setIgnoringElementContentWhitespace(true);&lt;br /&gt;
    DocumentBuilder builder = null;&lt;br /&gt;
    builder = builderFactory.newDocumentBuilder();&lt;br /&gt;
    builder.setErrorHandler(new TryDOM());&lt;br /&gt;
    Document xmlDoc = builder.parse(new File(&amp;quot;y.xml&amp;quot;));&lt;br /&gt;
    DocumentType doctype = xmlDoc.getDoctype();&lt;br /&gt;
    System.out.println(&amp;quot;DOCTYPE node:\n&amp;quot; + getDoctypeString(doctype));&lt;br /&gt;
    listNodes(xmlDoc.getDocumentElement(), &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  private static String getDoctypeString(DocumentType doctype) {&lt;br /&gt;
    String str = doctype.getName();&lt;br /&gt;
    StringBuffer doctypeStr = new StringBuffer(&amp;quot;&amp;lt;!DOCTYPE &amp;quot;).append(str);&lt;br /&gt;
    final char QUOTE = &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
    if ((str = doctype.getSystemId()) != null)&lt;br /&gt;
      doctypeStr.append(&amp;quot; SYSTEM &amp;quot;).append(QUOTE).append(str).append(QUOTE);&lt;br /&gt;
    else if ((str = doctype.getPublicId()) != null) // Check for a public ID&lt;br /&gt;
      doctypeStr.append(&amp;quot; PUBLIC &amp;quot;).append(QUOTE).append(str).append(QUOTE);&lt;br /&gt;
    if ((str = doctype.getInternalSubset()) != null)&lt;br /&gt;
      doctypeStr.append(&amp;quot;[&amp;quot;).append(str).append(&amp;quot;]&amp;quot;);&lt;br /&gt;
    return doctypeStr.append(&amp;quot;&amp;gt;&amp;quot;).toString(); // Append &amp;quot;&amp;gt;&amp;quot;, return the string&lt;br /&gt;
  }&lt;br /&gt;
  static void listNodes(Node node, String indent) {&lt;br /&gt;
    String nodeName = node.getNodeName();&lt;br /&gt;
    System.out.println(indent + nodeName + &amp;quot; Node, type is &amp;quot;&lt;br /&gt;
        + node.getClass().getName() + &amp;quot;:&amp;quot;);&lt;br /&gt;
    System.out.println(node);&lt;br /&gt;
    if (node instanceof Element &amp;amp;&amp;amp; node.hasAttributes()) {&lt;br /&gt;
      NamedNodeMap attrs = node.getAttributes(); &lt;br /&gt;
      for (int i = 0; i &amp;lt; attrs.getLength(); i++) {&lt;br /&gt;
        Attr attribute = (Attr) attrs.item(i);&lt;br /&gt;
        System.out.println(indent + attribute.getName() + &amp;quot;=&amp;quot;&lt;br /&gt;
            + attribute.getValue());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    NodeList list = node.getChildNodes(); &lt;br /&gt;
    if (list.getLength() &amp;gt; 0) { &lt;br /&gt;
      System.out.println(indent + &amp;quot;Child Nodes of &amp;quot; + nodeName + &amp;quot; are:&amp;quot;);&lt;br /&gt;
      for (int i = 0; i &amp;lt; list.getLength(); i++)&lt;br /&gt;
        listNodes(list.item(i), indent + &amp;quot; &amp;quot;); &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void fatalError(SAXParseException spe) throws SAXException {&lt;br /&gt;
    System.out.println(&amp;quot;Fatal error at line &amp;quot; + spe.getLineNumber());&lt;br /&gt;
    System.out.println(spe.getMessage());&lt;br /&gt;
    throw spe;&lt;br /&gt;
  }&lt;br /&gt;
  public void warning(SAXParseException spe) {&lt;br /&gt;
    System.out.println(&amp;quot;Warning at line &amp;quot; + spe.getLineNumber());&lt;br /&gt;
    System.out.println(spe.getMessage());&lt;br /&gt;
  }&lt;br /&gt;
  public void error(SAXParseException spe) {&lt;br /&gt;
    System.out.println(&amp;quot;Error at line &amp;quot; + spe.getLineNumber());&lt;br /&gt;
    System.out.println(spe.getMessage());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE circle &lt;br /&gt;
[&lt;br /&gt;
   &amp;lt;!ELEMENT circle (position)&amp;gt;&lt;br /&gt;
   &amp;lt;!ATTLIST circle &lt;br /&gt;
             radius CDATA #REQUIRED&lt;br /&gt;
   &amp;gt;&lt;br /&gt;
   &amp;lt;!ELEMENT position EMPTY&amp;gt;&lt;br /&gt;
   &amp;lt;!ATTLIST position &lt;br /&gt;
             x CDATA #REQUIRED&lt;br /&gt;
             y CDATA #REQUIRED&lt;br /&gt;
   &amp;gt;&lt;br /&gt;
]&amp;gt;&lt;br /&gt;
&amp;lt;circle radius=&amp;quot;15&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;position x=&amp;quot;30&amp;quot; y=&amp;quot;50&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/circle&amp;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;
== Custom complex filters for selecting nodes ==&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 javax.xml.parsers.DocumentBuilder;&lt;br /&gt;
import javax.xml.parsers.DocumentBuilderFactory;&lt;br /&gt;
import org.w3c.dom.Document;&lt;br /&gt;
import org.w3c.dom.Element;&lt;br /&gt;
import org.w3c.dom.Node;&lt;br /&gt;
import org.w3c.dom.traversal.DocumentTraversal;&lt;br /&gt;
import org.w3c.dom.traversal.NodeFilter;&lt;br /&gt;
import org.w3c.dom.traversal.NodeIterator;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();&lt;br /&gt;
    DocumentBuilder loader = factory.newDocumentBuilder();&lt;br /&gt;
    Document document = loader.parse(&amp;quot;sample.xml&amp;quot;);&lt;br /&gt;
    DocumentTraversal traversal = (DocumentTraversal) document;&lt;br /&gt;
    NodeIterator iterator = traversal.createNodeIterator(document.getDocumentElement(),&lt;br /&gt;
        NodeFilter.SHOW_ALL, new ItemFilter(), true);&lt;br /&gt;
    for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) {&lt;br /&gt;
      System.out.println(&amp;quot;Element: &amp;quot; + ((Element) n).getTagName());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static final class ItemFilter implements NodeFilter {&lt;br /&gt;
    public short acceptNode(Node n) {&lt;br /&gt;
      if (n instanceof Element) {&lt;br /&gt;
        if (((Element) n).getTagName().equals(&amp;quot;item&amp;quot;)) {&lt;br /&gt;
          return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      return NodeFilter.FILTER_REJECT;&lt;br /&gt;
    }&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;
== DOM parser with all its actions displayed ==&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.File;&lt;br /&gt;
import javax.xml.parsers.DocumentBuilder;&lt;br /&gt;
import javax.xml.parsers.DocumentBuilderFactory;&lt;br /&gt;
import org.w3c.dom.Attr;&lt;br /&gt;
import org.w3c.dom.Document;&lt;br /&gt;
import org.w3c.dom.DocumentType;&lt;br /&gt;
import org.w3c.dom.Element;&lt;br /&gt;
import org.w3c.dom.NamedNodeMap;&lt;br /&gt;
import org.w3c.dom.Node;&lt;br /&gt;
import org.w3c.dom.NodeList;&lt;br /&gt;
import org.w3c.dom.Text;&lt;br /&gt;
import org.xml.sax.ErrorHandler;&lt;br /&gt;
import org.xml.sax.SAXException;&lt;br /&gt;
import org.xml.sax.SAXParseException;&lt;br /&gt;
public class MainClass implements ErrorHandler {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    DocumentBuilderFactory builderFactory = DocumentBuilderFactory&lt;br /&gt;
        .newInstance();&lt;br /&gt;
    builderFactory.setNamespaceAware(true);&lt;br /&gt;
    builderFactory.setValidating(true);&lt;br /&gt;
    DocumentBuilder builder = null;&lt;br /&gt;
    builder = builderFactory.newDocumentBuilder(); &lt;br /&gt;
    builder.setErrorHandler(new MainClass());&lt;br /&gt;
    Document xmlDoc = null;&lt;br /&gt;
    xmlDoc = builder.parse(new File(&amp;quot;y.xml&amp;quot;));&lt;br /&gt;
    listNodes(xmlDoc); &lt;br /&gt;
  }&lt;br /&gt;
  static void listNodes(Node node) {&lt;br /&gt;
    String nodeName = node.getNodeName(); &lt;br /&gt;
    if (node instanceof Element) {&lt;br /&gt;
      if (node.hasAttributes()) { &lt;br /&gt;
        NamedNodeMap attrs = node.getAttributes();&lt;br /&gt;
        for (int i = 0; i &amp;lt; attrs.getLength(); i++) {&lt;br /&gt;
          Attr attribute = (Attr) attrs.item(i); // Get an attribute&lt;br /&gt;
          System.out.println(&amp;quot; &amp;quot;+ attribute.getName()+ &amp;quot;=&amp;quot;+attribute.getValue());&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println(indent + &amp;quot;&amp;lt;&amp;quot; + nodeName + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    } else if (node instanceof Text) {&lt;br /&gt;
      System.out.println(((Text) node).getData());&lt;br /&gt;
    } else if (node instanceof DocumentType) {&lt;br /&gt;
      System.out.println(getDoctypeString((DocumentType) node));&lt;br /&gt;
    }&lt;br /&gt;
    indent.append(&amp;quot; &amp;quot;); &lt;br /&gt;
    NodeList list = node.getChildNodes(); &lt;br /&gt;
    if (list.getLength() &amp;gt; 0) { &lt;br /&gt;
      for (int i = 0; i &amp;lt; list.getLength(); i++) { &lt;br /&gt;
        listNodes(list.item(i)); &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;&amp;lt;/&amp;quot; + nodeName + &amp;quot;&amp;gt;&amp;quot;); &lt;br /&gt;
  }&lt;br /&gt;
  public void fatalError(SAXParseException spe) throws SAXException {&lt;br /&gt;
    System.out.println(&amp;quot;Fatal error at line &amp;quot; + spe.getLineNumber());&lt;br /&gt;
    System.out.println(spe.getMessage());&lt;br /&gt;
    throw spe;&lt;br /&gt;
  }&lt;br /&gt;
  public void warning(SAXParseException spe) {&lt;br /&gt;
    System.out.println(&amp;quot;Warning at line &amp;quot; + spe.getLineNumber());&lt;br /&gt;
    System.out.println(spe.getMessage());&lt;br /&gt;
  }&lt;br /&gt;
  public void error(SAXParseException spe) {&lt;br /&gt;
    System.out.println(&amp;quot;Error at line &amp;quot; + spe.getLineNumber());&lt;br /&gt;
    System.out.println(spe.getMessage());&lt;br /&gt;
  }&lt;br /&gt;
  static StringBuffer indent = new StringBuffer(&amp;quot;&amp;quot;);&lt;br /&gt;
  private static String getDoctypeString(DocumentType doctype) {&lt;br /&gt;
    String str = doctype.getName();&lt;br /&gt;
    StringBuffer doctypeStr = new StringBuffer(&amp;quot;&amp;lt;!DOCTYPE &amp;quot;).append(str);&lt;br /&gt;
    if ((str = doctype.getSystemId()) != null) {&lt;br /&gt;
      doctypeStr.append(&amp;quot; SYSTEM &amp;quot;).append(&amp;quot;\&amp;quot;&amp;quot;).append(str).append(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    if ((str = doctype.getPublicId()) != null) {&lt;br /&gt;
      doctypeStr.append(&amp;quot; PUBLIC &amp;quot;).append(&amp;quot;\&amp;quot;&amp;quot;).append(str).append(&amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    if ((str = doctype.getInternalSubset()) != null) {&lt;br /&gt;
      doctypeStr.append(&amp;quot;[&amp;quot;).append(str).append(&amp;quot;]&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    return doctypeStr.append(&amp;quot;&amp;gt;&amp;quot;).toString();&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;
== DOM Utilities ==&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 javax.xml.parsers.DocumentBuilder;&lt;br /&gt;
import javax.xml.parsers.DocumentBuilderFactory;&lt;br /&gt;
import org.w3c.dom.Document;&lt;br /&gt;
import org.w3c.dom.Element;&lt;br /&gt;
import org.w3c.dom.Node;&lt;br /&gt;
import org.w3c.dom.NodeList;&lt;br /&gt;
import org.w3c.dom.Text;&lt;br /&gt;
public class TestDOM {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();&lt;br /&gt;
    DocumentBuilder parser = factory.newDocumentBuilder();&lt;br /&gt;
    Document document = parser.parse(&amp;quot;zooinventory.xml&amp;quot;);&lt;br /&gt;
    Element inventory = document.getDocumentElement();&lt;br /&gt;
    NodeList animals = inventory.getElementsByTagName(&amp;quot;Animal&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Animals = &amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; animals.getLength(); i++) {&lt;br /&gt;
      String name = DOMUtil.getSimpleElementText((Element) animals.item(i), &amp;quot;Name&amp;quot;);&lt;br /&gt;
      String species = DOMUtil.getSimpleElementText((Element) animals.item(i), &amp;quot;Species&amp;quot;);&lt;br /&gt;
      System.out.println(&amp;quot;  &amp;quot; + name + &amp;quot; (&amp;quot; + species + &amp;quot;)&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    Element foodRecipe = DOMUtil.getFirstElement((Element) animals.item(1), &amp;quot;FoodRecipe&amp;quot;);&lt;br /&gt;
    String name = DOMUtil.getSimpleElementText(foodRecipe, &amp;quot;Name&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Recipe = &amp;quot; + name);&lt;br /&gt;
    NodeList ingredients = foodRecipe.getElementsByTagName(&amp;quot;Ingredient&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; ingredients.getLength(); i++)&lt;br /&gt;
      System.out.println(&amp;quot;  &amp;quot; + DOMUtil.getSimpleElementText((Element) ingredients.item(i)));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class DOMUtil {&lt;br /&gt;
  public static Element getFirstElement(Element element, String name) {&lt;br /&gt;
    NodeList nl = element.getElementsByTagName(name);&lt;br /&gt;
    if (nl.getLength() &amp;lt; 1)&lt;br /&gt;
      throw new RuntimeException(&amp;quot;Element: &amp;quot; + element + &amp;quot; does not contain: &amp;quot; + name);&lt;br /&gt;
    return (Element) nl.item(0);&lt;br /&gt;
  }&lt;br /&gt;
  public static String getSimpleElementText(Element node, String name) {&lt;br /&gt;
    Element namedElement = getFirstElement(node, name);&lt;br /&gt;
    return getSimpleElementText(namedElement);&lt;br /&gt;
  }&lt;br /&gt;
  public static String getSimpleElementText(Element node) {&lt;br /&gt;
    StringBuffer sb = new StringBuffer();&lt;br /&gt;
    NodeList children = node.getChildNodes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; children.getLength(); i++) {&lt;br /&gt;
      Node child = children.item(i);&lt;br /&gt;
      if (child instanceof Text)&lt;br /&gt;
        sb.append(child.getNodeValue());&lt;br /&gt;
    }&lt;br /&gt;
    return sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//File: zooinventory.xml&lt;br /&gt;
/*&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Element2&amp;gt;&lt;br /&gt;
  &amp;lt;Element3 animalClass=&amp;quot;mammal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Name&amp;gt;A&amp;lt;/Name&amp;gt;&lt;br /&gt;
    &amp;lt;Species&amp;gt;B&amp;lt;/Species&amp;gt;&lt;br /&gt;
    &amp;lt;Habitat&amp;gt;C&amp;lt;/Habitat&amp;gt;&lt;br /&gt;
    &amp;lt;Food&amp;gt;D&amp;lt;/Food&amp;gt;&lt;br /&gt;
    &amp;lt;Temperament&amp;gt;E&amp;lt;/Temperament&amp;gt;&lt;br /&gt;
    &amp;lt;Weight&amp;gt;1&amp;lt;/Weight&amp;gt;&lt;br /&gt;
  &amp;lt;/Element3&amp;gt;&lt;br /&gt;
  &amp;lt;Element3 animalClass=&amp;quot;mammal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Name&amp;gt;F&amp;lt;/Name&amp;gt;&lt;br /&gt;
    &amp;lt;Species&amp;gt;G&amp;lt;/Species&amp;gt;&lt;br /&gt;
    &amp;lt;Habitat&amp;gt;H&amp;lt;/Habitat&amp;gt;&lt;br /&gt;
    &amp;lt;ElementA&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;I&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Ingredient&amp;gt;I1&amp;lt;/Ingredient&amp;gt;&lt;br /&gt;
      &amp;lt;Ingredient&amp;gt;I2&amp;lt;/Ingredient&amp;gt;&lt;br /&gt;
      &amp;lt;Ingredient&amp;gt;I2&amp;lt;/Ingredient&amp;gt;&lt;br /&gt;
    &amp;lt;/ElementA&amp;gt;&lt;br /&gt;
    &amp;lt;Temperament&amp;gt;J&amp;lt;/Temperament&amp;gt;&lt;br /&gt;
    &amp;lt;Weight&amp;gt;4&amp;lt;/Weight&amp;gt;&lt;br /&gt;
  &amp;lt;/Element3&amp;gt;&lt;br /&gt;
&amp;lt;/Element2&amp;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>