NameSpace.java~10~
上传用户: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.         System.out.println("here1");
  15.         for (int i = 0; i < atts.getLength(); i++){
  16.             print("Attr: " + atts.getQName(i) + "=" + atts.getValue(i),
  17.                   atts.getURI(i),
  18.                   atts.getLocalName(i));
  19.         }
  20.     }
  21.     public void characters(char ch[], int start, int length) throws SAXException{
  22.         String strData = new String(ch, start, length).trim();
  23.         if (strData.length() > 0){
  24.             System.out.println("Characters"+strData);
  25.         }
  26.     }
  27.     public void print(String t, String u, String l){
  28.         System.out.println(t);
  29.         System.out.println("URI: " + u);
  30.         System.out.println("Local name: " + l);
  31.     }
  32.     public static void main(String[] args) throws Exception{
  33.         SAXParserFactory spf = SAXParserFactory.newInstance();
  34.         spf.setNamespaceAware(true);
  35.         XMLReader reader = spf.newSAXParser().getXMLReader();
  36.         reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
  37.         reader.setContentHandler(new NameSpace());
  38.         reader.parse("TsinghuaIPAssign.xml");
  39.     }
  40. }