Java by API/org.w3c.dom/Attr — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 17:15, 31 мая 2010
Attr: getName()
<source lang="java">
/* DOCTYPE node: <!ELEMENT circle (position)> <!ATTLIST circle radius CDATA #REQUIRED> <!ELEMENT position EMPTY> <!ATTLIST position x CDATA #REQUIRED> <!ATTLIST position y CDATA #REQUIRED>
Document body contents are:
Node: circle Node Type: Element Element Attributes are: radius = 15 Child Nodes of circle are: Node: position Node Type: Element Element Attributes are: x = 30 y = 50 */
import static org.w3c.dom.Node.ATTRIBUTE_NODE; import static org.w3c.dom.Node.CDATA_SECTION_NODE; import static org.w3c.dom.Node.ruMENT_NODE; import static org.w3c.dom.Node.DOCUMENT_TYPE_NODE; import static org.w3c.dom.Node.ELEMENT_NODE; import static org.w3c.dom.Node.ENTITY_NODE; import static org.w3c.dom.Node.ENTITY_REFERENCE_NODE; import static org.w3c.dom.Node.NOTATION_NODE; import static org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE; import static org.w3c.dom.Node.TEXT_NODE; import java.io.IOException; import java.io.StringReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.DocumentType; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; import org.xml.sax.InputSource; import org.xml.sax.SAXException; public class MainClass {
public static void main(String args[]) { DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); builderFactory.setValidating(true); // and validating parser feaures builderFactory.setIgnoringElementContentWhitespace(true); DocumentBuilder builder = null; try { builder = builderFactory.newDocumentBuilder(); // Create the parser } catch(ParserConfigurationException e) { e.printStackTrace(); } Document xmlDoc = null; try { xmlDoc = builder.parse(new InputSource(new StringReader(xmlString))); } catch(SAXException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } DocumentType doctype = xmlDoc.getDoctype(); if(doctype == null) { System.out.println("DOCTYPE is null"); } else { System.out.println("DOCTYPE node:\n" + doctype.getInternalSubset()); } System.out.println("\nDocument body contents are:"); listNodes(xmlDoc.getDocumentElement(),""); // Root element & children } static void listNodes(Node node, String indent) { String nodeName = node.getNodeName(); System.out.println(indent+" Node: "+nodeName); short type =node.getNodeType(); System.out.println(indent+" Node Type: " + nodeType(type)); if(type == TEXT_NODE){ System.out.println(indent+" Content is: "+((Text)node).getWholeText()); } else if(node.hasAttributes()) { System.out.println(indent+" Element Attributes are:"); NamedNodeMap attrs = node.getAttributes(); for(int i = 0 ; i<attrs.getLength() ; i++) { Attr attribute = (Attr)attrs.item(i); System.out.println(indent+ " " + attribute.getName()+" = "+attribute.getValue()); } } NodeList list = node.getChildNodes(); if(list.getLength() > 0) { System.out.println(indent+" Child Nodes of "+nodeName+" are:"); for(int i = 0 ; i<list.getLength() ; i++) { listNodes(list.item(i),indent+" "); } } } static String nodeType(short type) { switch(type) { case ELEMENT_NODE: return "Element"; case DOCUMENT_TYPE_NODE: return "Document type"; case ENTITY_NODE: return "Entity"; case ENTITY_REFERENCE_NODE: return "Entity reference"; case NOTATION_NODE: return "Notation"; case TEXT_NODE: return "Text"; case COMMENT_NODE: return "Comment"; case CDATA_SECTION_NODE: return "CDATA Section"; case ATTRIBUTE_NODE: return "Attribute"; case PROCESSING_INSTRUCTION_NODE: return "Attribute"; } return "Unidentified"; } static String xmlString ="<?xml version=\"1.0\"?>" + "<!DOCTYPE circle" + "[" + " <!ELEMENT circle (position)>" + " <!ATTLIST circle" + " radius CDATA #REQUIRED" + " >" + " <!ELEMENT position EMPTY>" + " <!ATTLIST position" + " x CDATA #REQUIRED" + " y CDATA #REQUIRED" + " >" + "]>" + "<circle radius=\"15\">" + " <position x=\"30\" y=\"50\"/>" + "</circle>";
}
</source>
Attr: getValue()
<source lang="java">
/* DOCTYPE node: <!ELEMENT circle (position)> <!ATTLIST circle radius CDATA #REQUIRED> <!ELEMENT position EMPTY> <!ATTLIST position x CDATA #REQUIRED> <!ATTLIST position y CDATA #REQUIRED>
Document body contents are:
Node: circle Node Type: Element Element Attributes are: radius = 15 Child Nodes of circle are: Node: position Node Type: Element Element Attributes are: x = 30 y = 50 */
import static org.w3c.dom.Node.ATTRIBUTE_NODE; import static org.w3c.dom.Node.CDATA_SECTION_NODE; import static org.w3c.dom.Node.ruMENT_NODE; import static org.w3c.dom.Node.DOCUMENT_TYPE_NODE; import static org.w3c.dom.Node.ELEMENT_NODE; import static org.w3c.dom.Node.ENTITY_NODE; import static org.w3c.dom.Node.ENTITY_REFERENCE_NODE; import static org.w3c.dom.Node.NOTATION_NODE; import static org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE; import static org.w3c.dom.Node.TEXT_NODE; import java.io.IOException; import java.io.StringReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.DocumentType; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; import org.xml.sax.InputSource; import org.xml.sax.SAXException; public class MainClass {
public static void main(String args[]) { DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); builderFactory.setValidating(true); // and validating parser feaures builderFactory.setIgnoringElementContentWhitespace(true); DocumentBuilder builder = null; try { builder = builderFactory.newDocumentBuilder(); // Create the parser } catch(ParserConfigurationException e) { e.printStackTrace(); } Document xmlDoc = null; try { xmlDoc = builder.parse(new InputSource(new StringReader(xmlString))); } catch(SAXException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } DocumentType doctype = xmlDoc.getDoctype(); if(doctype == null) { System.out.println("DOCTYPE is null"); } else { System.out.println("DOCTYPE node:\n" + doctype.getInternalSubset()); } System.out.println("\nDocument body contents are:"); listNodes(xmlDoc.getDocumentElement(),""); // Root element & children } static void listNodes(Node node, String indent) { String nodeName = node.getNodeName(); System.out.println(indent+" Node: "+nodeName); short type =node.getNodeType(); System.out.println(indent+" Node Type: " + nodeType(type)); if(type == TEXT_NODE){ System.out.println(indent+" Content is: "+((Text)node).getWholeText()); } else if(node.hasAttributes()) { System.out.println(indent+" Element Attributes are:"); NamedNodeMap attrs = node.getAttributes(); for(int i = 0 ; i<attrs.getLength() ; i++) { Attr attribute = (Attr)attrs.item(i); System.out.println(indent+ " " + attribute.getName()+" = "+attribute.getValue()); } } NodeList list = node.getChildNodes(); if(list.getLength() > 0) { System.out.println(indent+" Child Nodes of "+nodeName+" are:"); for(int i = 0 ; i<list.getLength() ; i++) { listNodes(list.item(i),indent+" "); } } } static String nodeType(short type) { switch(type) { case ELEMENT_NODE: return "Element"; case DOCUMENT_TYPE_NODE: return "Document type"; case ENTITY_NODE: return "Entity"; case ENTITY_REFERENCE_NODE: return "Entity reference"; case NOTATION_NODE: return "Notation"; case TEXT_NODE: return "Text"; case COMMENT_NODE: return "Comment"; case CDATA_SECTION_NODE: return "CDATA Section"; case ATTRIBUTE_NODE: return "Attribute"; case PROCESSING_INSTRUCTION_NODE: return "Attribute"; } return "Unidentified"; } static String xmlString ="<?xml version=\"1.0\"?>" + "<!DOCTYPE circle" + "[" + " <!ELEMENT circle (position)>" + " <!ATTLIST circle" + " radius CDATA #REQUIRED" + " >" + " <!ELEMENT position EMPTY>" + " <!ATTLIST position" + " x CDATA #REQUIRED" + " y CDATA #REQUIRED" + " >" + "]>" + "<circle radius=\"15\">" + " <position x=\"30\" y=\"50\"/>" + "</circle>";
}
</source>
Node: getAttributes()
<source lang="java">
/* DOCTYPE node: <!ELEMENT circle (position)> <!ATTLIST circle radius CDATA #REQUIRED> <!ELEMENT position EMPTY> <!ATTLIST position x CDATA #REQUIRED> <!ATTLIST position y CDATA #REQUIRED>
Document body contents are:
Node: circle Node Type: Element Element Attributes are: radius = 15 Child Nodes of circle are: Node: position Node Type: Element Element Attributes are: x = 30 y = 50 */
import static org.w3c.dom.Node.ATTRIBUTE_NODE; import static org.w3c.dom.Node.CDATA_SECTION_NODE; import static org.w3c.dom.Node.ruMENT_NODE; import static org.w3c.dom.Node.DOCUMENT_TYPE_NODE; import static org.w3c.dom.Node.ELEMENT_NODE; import static org.w3c.dom.Node.ENTITY_NODE; import static org.w3c.dom.Node.ENTITY_REFERENCE_NODE; import static org.w3c.dom.Node.NOTATION_NODE; import static org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE; import static org.w3c.dom.Node.TEXT_NODE; import java.io.IOException; import java.io.StringReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.DocumentType; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; import org.xml.sax.InputSource; import org.xml.sax.SAXException; public class MainClass {
public static void main(String args[]) { DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); builderFactory.setValidating(true); // and validating parser feaures builderFactory.setIgnoringElementContentWhitespace(true); DocumentBuilder builder = null; try { builder = builderFactory.newDocumentBuilder(); // Create the parser } catch(ParserConfigurationException e) { e.printStackTrace(); } Document xmlDoc = null; try { xmlDoc = builder.parse(new InputSource(new StringReader(xmlString))); } catch(SAXException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } DocumentType doctype = xmlDoc.getDoctype(); if(doctype == null) { System.out.println("DOCTYPE is null"); } else { System.out.println("DOCTYPE node:\n" + doctype.getInternalSubset()); } System.out.println("\nDocument body contents are:"); listNodes(xmlDoc.getDocumentElement(),""); // Root element & children } static void listNodes(Node node, String indent) { String nodeName = node.getNodeName(); System.out.println(indent+" Node: "+nodeName); short type =node.getNodeType(); System.out.println(indent+" Node Type: " + nodeType(type)); if(type == TEXT_NODE){ System.out.println(indent+" Content is: "+((Text)node).getWholeText()); } else if(node.hasAttributes()) { System.out.println(indent+" Element Attributes are:"); NamedNodeMap attrs = node.getAttributes(); for(int i = 0 ; i<attrs.getLength() ; i++) { Attr attribute = (Attr)attrs.item(i); System.out.println(indent+ " " + attribute.getName()+" = "+attribute.getValue()); } } NodeList list = node.getChildNodes(); if(list.getLength() > 0) { System.out.println(indent+" Child Nodes of "+nodeName+" are:"); for(int i = 0 ; i<list.getLength() ; i++) { listNodes(list.item(i),indent+" "); } } } static String nodeType(short type) { switch(type) { case ELEMENT_NODE: return "Element"; case DOCUMENT_TYPE_NODE: return "Document type"; case ENTITY_NODE: return "Entity"; case ENTITY_REFERENCE_NODE: return "Entity reference"; case NOTATION_NODE: return "Notation"; case TEXT_NODE: return "Text"; case COMMENT_NODE: return "Comment"; case CDATA_SECTION_NODE: return "CDATA Section"; case ATTRIBUTE_NODE: return "Attribute"; case PROCESSING_INSTRUCTION_NODE: return "Attribute"; } return "Unidentified"; } static String xmlString ="<?xml version=\"1.0\"?>" + "<!DOCTYPE circle" + "[" + " <!ELEMENT circle (position)>" + " <!ATTLIST circle" + " radius CDATA #REQUIRED" + " >" + " <!ELEMENT position EMPTY>" + " <!ATTLIST position" + " x CDATA #REQUIRED" + " y CDATA #REQUIRED" + " >" + "]>" + "<circle radius=\"15\">" + " <position x=\"30\" y=\"50\"/>" + "</circle>";
}
</source>