Java by API/org.xml.sax/Attributes

Материал из Java эксперт
Перейти к: навигация, поиск

Attributes: getLength()

   <source lang="java">

/* Parser object is: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl@c9ba38 Start document: Start element: local name: PHONEBOOK qname: PHONEBOOK uri: Characters: Start element: local name: PERSON qname: PERSON uri: Characters: Start element: local name: NAME qname: NAME uri: Attributes:

 Name : firstName
 Type : CDATA
 Value: Joe
 Name : lastName
 Type : CDATA
 Value: Yin

Characters: Joe Characters: Yin End element: local name: NAME qname: NAME uri: Characters: Start element: local name: EMAIL qname: EMAIL uri: Characters: joe@yourserver.ru End element: local name: EMAIL qname: EMAIL uri: Characters: Start element: local name: TELEPHONE qname: TELEPHONE uri: Characters: 202-999-9999 End element: local name: TELEPHONE qname: TELEPHONE uri: Characters: Start element: local name: WEB qname: WEB uri: Characters: www.jexp.ru End element: local name: WEB qname: WEB uri: Characters: End element: local name: PERSON qname: PERSON uri: Characters: End element: local name: PHONEBOOK qname: PHONEBOOK uri: End document:

*/

import java.io.StringReader; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; public class MainClass {

 public static void main(String args[])throws Exception {
   SAXParserFactory spf = SAXParserFactory.newInstance();
   SAXParser parser = null;
   spf.setNamespaceAware(true);
   spf.setValidating(true);
   try {
    spf.setFeature("http://xml.org/sax/features/namespace-prefixes",true);
    parser = spf.newSAXParser();
    System.out.println("Parser object is: "+ parser);
   }
   catch(SAXException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   } 
   catch(ParserConfigurationException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   }
   MySAXHandler handler = new MySAXHandler(); 
   parser.parse(new InputSource(new StringReader(xmlString)), handler);
 }
 static String xmlString = "<PHONEBOOK>" +
 "  <PERSON>" +
 "   <NAME firstName=\"Joe\" lastName=\"Yin\">Joe Wang</NAME>" +
 "   <EMAIL>joe@yourserver.ru</EMAIL>" +
 "   <TELEPHONE>202-999-9999</TELEPHONE>" +
 "   <WEB>www.jexp.ru</WEB>" +
 "  </PERSON>" +
 "  </PHONEBOOK>";

} class MySAXHandler extends DefaultHandler {

 public void startDocument() {
   System.out.println("Start document: ");
 }    
   public void endDocument()  {
   System.out.println("End document: ");
 }
 
 public void startElement(String uri, String localName, String qname, 
                                                              Attributes attr)
 {
   System.out.println("Start element: local name: " + localName + " qname: " 
                                                       + qname + " uri: "+uri);
   int attrCount = attr.getLength();
   if(attrCount>0) {
     System.out.println("Attributes:"); 
     for(int i = 0 ; i<attrCount ; i++) {
       System.out.println("  Name : " + attr.getQName(i)); 
       System.out.println("  Type : " + attr.getType(i)); 
       System.out.println("  Value: " + attr.getValue(i)); 
     }
   } 
 }
 
 public void endElement(String uri, String localName, String qname) {
   System.out.println("End element: local name: " + localName + " qname: "
                                                        + qname + " uri: "+uri);
 }
 
 public void characters(char[] ch, int start, int length) {
   System.out.println("Characters: " + new String(ch, start, length));
 }
 public void ignorableWhitespace(char[] ch, int start, int length) {
   System.out.println("Ignorable whitespace: " + new String(ch, start, length));
 }
 public void startPrefixMapping(String prefix, String uri) {
   System.out.println("Start \"" + prefix + "\" namespace scope. URI: " + uri); 
 }
 public void endPrefixMapping(String prefix) {
   System.out.println("End \"" + prefix + "\" namespace scope."); 
 }
 public void warning(SAXParseException spe) {
   System.out.println("Warning at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
 }
 public void fatalError(SAXParseException spe) throws SAXException {
   System.out.println("Fatal error at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
   throw spe;
 }

}


      </source>
   
  
 
  



Attributes: getQName(int index)

   <source lang="java">

/* Parser object is: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl@c9ba38 Start document: Start element: local name: PHONEBOOK qname: PHONEBOOK uri: Characters: Start element: local name: PERSON qname: PERSON uri: Characters: Start element: local name: NAME qname: NAME uri: Attributes:

 Name : firstName
 Type : CDATA
 Value: Joe
 Name : lastName
 Type : CDATA
 Value: Yin

Characters: Joe Characters: Yin End element: local name: NAME qname: NAME uri: Characters: Start element: local name: EMAIL qname: EMAIL uri: Characters: joe@yourserver.ru End element: local name: EMAIL qname: EMAIL uri: Characters: Start element: local name: TELEPHONE qname: TELEPHONE uri: Characters: 202-999-9999 End element: local name: TELEPHONE qname: TELEPHONE uri: Characters: Start element: local name: WEB qname: WEB uri: Characters: www.jexp.ru End element: local name: WEB qname: WEB uri: Characters: End element: local name: PERSON qname: PERSON uri: Characters: End element: local name: PHONEBOOK qname: PHONEBOOK uri: End document:

*/

import java.io.StringReader; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; public class MainClass {

 public static void main(String args[])throws Exception {
   SAXParserFactory spf = SAXParserFactory.newInstance();
   SAXParser parser = null;
   spf.setNamespaceAware(true);
   spf.setValidating(true);
   try {
    spf.setFeature("http://xml.org/sax/features/namespace-prefixes",true);
    parser = spf.newSAXParser();
    System.out.println("Parser object is: "+ parser);
   }
   catch(SAXException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   } 
   catch(ParserConfigurationException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   }
   MySAXHandler handler = new MySAXHandler(); 
   parser.parse(new InputSource(new StringReader(xmlString)), handler);
 }
 static String xmlString = "<PHONEBOOK>" +
 "  <PERSON>" +
 "   <NAME firstName=\"Joe\" lastName=\"Yin\">Joe Wang</NAME>" +
 "   <EMAIL>joe@yourserver.ru</EMAIL>" +
 "   <TELEPHONE>202-999-9999</TELEPHONE>" +
 "   <WEB>www.jexp.ru</WEB>" +
 "  </PERSON>" +
 "  </PHONEBOOK>";

} class MySAXHandler extends DefaultHandler {

 public void startDocument() {
   System.out.println("Start document: ");
 }    
   public void endDocument()  {
   System.out.println("End document: ");
 }
 
 public void startElement(String uri, String localName, String qname, 
                                                              Attributes attr)
 {
   System.out.println("Start element: local name: " + localName + " qname: " 
                                                       + qname + " uri: "+uri);
   int attrCount = attr.getLength();
   if(attrCount>0) {
     System.out.println("Attributes:"); 
     for(int i = 0 ; i<attrCount ; i++) {
       System.out.println("  Name : " + attr.getQName(i)); 
       System.out.println("  Type : " + attr.getType(i)); 
       System.out.println("  Value: " + attr.getValue(i)); 
     }
   } 
 }
 
 public void endElement(String uri, String localName, String qname) {
   System.out.println("End element: local name: " + localName + " qname: "
                                                        + qname + " uri: "+uri);
 }
 
 public void characters(char[] ch, int start, int length) {
   System.out.println("Characters: " + new String(ch, start, length));
 }
 public void ignorableWhitespace(char[] ch, int start, int length) {
   System.out.println("Ignorable whitespace: " + new String(ch, start, length));
 }
 public void startPrefixMapping(String prefix, String uri) {
   System.out.println("Start \"" + prefix + "\" namespace scope. URI: " + uri); 
 }
 public void endPrefixMapping(String prefix) {
   System.out.println("End \"" + prefix + "\" namespace scope."); 
 }
 public void warning(SAXParseException spe) {
   System.out.println("Warning at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
 }
 public void fatalError(SAXParseException spe) throws SAXException {
   System.out.println("Fatal error at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
   throw spe;
 }

}


      </source>
   
  
 
  



Attributes: getType(int index)

   <source lang="java">

/* Parser object is: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl@c9ba38 Start document: Start element: local name: PHONEBOOK qname: PHONEBOOK uri: Characters: Start element: local name: PERSON qname: PERSON uri: Characters: Start element: local name: NAME qname: NAME uri: Attributes:

 Name : firstName
 Type : CDATA
 Value: Joe
 Name : lastName
 Type : CDATA
 Value: Yin

Characters: Joe Characters: Yin End element: local name: NAME qname: NAME uri: Characters: Start element: local name: EMAIL qname: EMAIL uri: Characters: joe@yourserver.ru End element: local name: EMAIL qname: EMAIL uri: Characters: Start element: local name: TELEPHONE qname: TELEPHONE uri: Characters: 202-999-9999 End element: local name: TELEPHONE qname: TELEPHONE uri: Characters: Start element: local name: WEB qname: WEB uri: Characters: www.jexp.ru End element: local name: WEB qname: WEB uri: Characters: End element: local name: PERSON qname: PERSON uri: Characters: End element: local name: PHONEBOOK qname: PHONEBOOK uri: End document:

*/

import java.io.StringReader; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; public class MainClass {

 public static void main(String args[])throws Exception {
   SAXParserFactory spf = SAXParserFactory.newInstance();
   SAXParser parser = null;
   spf.setNamespaceAware(true);
   spf.setValidating(true);
   try {
    spf.setFeature("http://xml.org/sax/features/namespace-prefixes",true);
    parser = spf.newSAXParser();
    System.out.println("Parser object is: "+ parser);
   }
   catch(SAXException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   } 
   catch(ParserConfigurationException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   }
   MySAXHandler handler = new MySAXHandler(); 
   parser.parse(new InputSource(new StringReader(xmlString)), handler);
 }
 static String xmlString = "<PHONEBOOK>" +
 "  <PERSON>" +
 "   <NAME firstName=\"Joe\" lastName=\"Yin\">Joe Wang</NAME>" +
 "   <EMAIL>joe@yourserver.ru</EMAIL>" +
 "   <TELEPHONE>202-999-9999</TELEPHONE>" +
 "   <WEB>www.jexp.ru</WEB>" +
 "  </PERSON>" +
 "  </PHONEBOOK>";

} class MySAXHandler extends DefaultHandler {

 public void startDocument() {
   System.out.println("Start document: ");
 }    
   public void endDocument()  {
   System.out.println("End document: ");
 }
 
 public void startElement(String uri, String localName, String qname, 
                                                              Attributes attr)
 {
   System.out.println("Start element: local name: " + localName + " qname: " 
                                                       + qname + " uri: "+uri);
   int attrCount = attr.getLength();
   if(attrCount>0) {
     System.out.println("Attributes:"); 
     for(int i = 0 ; i<attrCount ; i++) {
       System.out.println("  Name : " + attr.getQName(i)); 
       System.out.println("  Type : " + attr.getType(i)); 
       System.out.println("  Value: " + attr.getValue(i)); 
     }
   } 
 }
 
 public void endElement(String uri, String localName, String qname) {
   System.out.println("End element: local name: " + localName + " qname: "
                                                        + qname + " uri: "+uri);
 }
 
 public void characters(char[] ch, int start, int length) {
   System.out.println("Characters: " + new String(ch, start, length));
 }
 public void ignorableWhitespace(char[] ch, int start, int length) {
   System.out.println("Ignorable whitespace: " + new String(ch, start, length));
 }
 public void startPrefixMapping(String prefix, String uri) {
   System.out.println("Start \"" + prefix + "\" namespace scope. URI: " + uri); 
 }
 public void endPrefixMapping(String prefix) {
   System.out.println("End \"" + prefix + "\" namespace scope."); 
 }
 public void warning(SAXParseException spe) {
   System.out.println("Warning at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
 }
 public void fatalError(SAXParseException spe) throws SAXException {
   System.out.println("Fatal error at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
   throw spe;
 }

}


      </source>
   
  
 
  



Attributes: getValue(int index)

   <source lang="java">

/* Parser object is: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl@c9ba38 Start document: Start element: local name: PHONEBOOK qname: PHONEBOOK uri: Characters: Start element: local name: PERSON qname: PERSON uri: Characters: Start element: local name: NAME qname: NAME uri: Attributes:

 Name : firstName
 Type : CDATA
 Value: Joe
 Name : lastName
 Type : CDATA
 Value: Yin

Characters: Joe Characters: Yin End element: local name: NAME qname: NAME uri: Characters: Start element: local name: EMAIL qname: EMAIL uri: Characters: joe@yourserver.ru End element: local name: EMAIL qname: EMAIL uri: Characters: Start element: local name: TELEPHONE qname: TELEPHONE uri: Characters: 202-999-9999 End element: local name: TELEPHONE qname: TELEPHONE uri: Characters: Start element: local name: WEB qname: WEB uri: Characters: www.jexp.ru End element: local name: WEB qname: WEB uri: Characters: End element: local name: PERSON qname: PERSON uri: Characters: End element: local name: PHONEBOOK qname: PHONEBOOK uri: End document:

*/

import java.io.StringReader; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; public class MainClass {

 public static void main(String args[])throws Exception {
   SAXParserFactory spf = SAXParserFactory.newInstance();
   SAXParser parser = null;
   spf.setNamespaceAware(true);
   spf.setValidating(true);
   try {
    spf.setFeature("http://xml.org/sax/features/namespace-prefixes",true);
    parser = spf.newSAXParser();
    System.out.println("Parser object is: "+ parser);
   }
   catch(SAXException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   } 
   catch(ParserConfigurationException e) {
     e.printStackTrace(System.err);
     System.exit(1);    
   }
   MySAXHandler handler = new MySAXHandler(); 
   parser.parse(new InputSource(new StringReader(xmlString)), handler);
 }
 static String xmlString = "<PHONEBOOK>" +
 "  <PERSON>" +
 "   <NAME firstName=\"Joe\" lastName=\"Yin\">Joe Wang</NAME>" +
 "   <EMAIL>joe@yourserver.ru</EMAIL>" +
 "   <TELEPHONE>202-999-9999</TELEPHONE>" +
 "   <WEB>www.jexp.ru</WEB>" +
 "  </PERSON>" +
 "  </PHONEBOOK>";

} class MySAXHandler extends DefaultHandler {

 public void startDocument() {
   System.out.println("Start document: ");
 }    
   public void endDocument()  {
   System.out.println("End document: ");
 }
 
 public void startElement(String uri, String localName, String qname, 
                                                              Attributes attr)
 {
   System.out.println("Start element: local name: " + localName + " qname: " 
                                                       + qname + " uri: "+uri);
   int attrCount = attr.getLength();
   if(attrCount>0) {
     System.out.println("Attributes:"); 
     for(int i = 0 ; i<attrCount ; i++) {
       System.out.println("  Name : " + attr.getQName(i)); 
       System.out.println("  Type : " + attr.getType(i)); 
       System.out.println("  Value: " + attr.getValue(i)); 
     }
   } 
 }
 
 public void endElement(String uri, String localName, String qname) {
   System.out.println("End element: local name: " + localName + " qname: "
                                                        + qname + " uri: "+uri);
 }
 
 public void characters(char[] ch, int start, int length) {
   System.out.println("Characters: " + new String(ch, start, length));
 }
 public void ignorableWhitespace(char[] ch, int start, int length) {
   System.out.println("Ignorable whitespace: " + new String(ch, start, length));
 }
 public void startPrefixMapping(String prefix, String uri) {
   System.out.println("Start \"" + prefix + "\" namespace scope. URI: " + uri); 
 }
 public void endPrefixMapping(String prefix) {
   System.out.println("End \"" + prefix + "\" namespace scope."); 
 }
 public void warning(SAXParseException spe) {
   System.out.println("Warning at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
 }
 public void fatalError(SAXParseException spe) throws SAXException {
   System.out.println("Fatal error at line "+spe.getLineNumber());
   System.out.println(spe.getMessage());
   throw spe;
 }

}


      </source>