NameSpace.java~12~
上传用户:liming9091
上传日期:2014-10-27
资源大小:3376k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. /**********************************************************************
  2.  这个类的作用就是打印出XML文档中元素以及属性的名称空间名
  3. **********************************************************************/
  4. package tsinghuaip;
  5. import org.xml.sax.XMLReader;
  6. import org.xml.sax.Attributes;
  7. import org.xml.sax.SAXException;
  8. import org.xml.sax.helpers.DefaultHandler;
  9. import javax.xml.parsers.SAXParserFactory;
  10. import javax.xml.parsers.SAXParser;
  11. public class NameSpace extends DefaultHandler{
  12.     public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException{
  13.         print("Elem: " + qName, uri, localName );
  14.         for (int i = 0; i < atts.getLength(); i++){
  15.             print("Attr: " + atts.getQName(i) + "=" + atts.getValue(i),
  16.                   atts.getURI(i),
  17.                   atts.getLocalName(i));
  18.         }
  19.     }
  20.     public void characters(char ch[], int start, int length) throws SAXException{
  21.         String strData = new String(ch, start, length).trim();
  22.         if (strData.length() > 0){
  23.             try{
  24.                 System.out.println("Characters" +
  25.                                    new String(strData.getBytes("ISO-8859-1")));
  26.             }
  27.             catch(Exception e){
  28.             e.printStackTrace();
  29.         }
  30.         }
  31.     }
  32.     public void print(String t, String u, String l){
  33.         System.out.println(t);
  34.         System.out.println("URI: " + u);
  35.         System.out.println("Local name: " + l);
  36.     }
  37.     public static void main(String[] args) throws Exception{
  38.         SAXParserFactory spf = SAXParserFactory.newInstance();
  39.         spf.setNamespaceAware(true);
  40.         XMLReader reader = spf.newSAXParser().getXMLReader();
  41.         reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
  42.         reader.setContentHandler(new NameSpace());
  43.         reader.parse("TsinghuaIPAssign.xml");
  44.     }
  45. }