NameSpace.java~13~
上传用户: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,
  13.                              Attributes atts) throws SAXException {
  14.         print("Elem: " + qName, uri, localName);
  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
  22.         SAXException {
  23.         String strData = new String(ch, start, length).trim();
  24.         if (strData.length() > 0) {
  25.             try {
  26.                 System.out.println("Characters" +
  27.                                    new String(strData.getBytes("ISO-8859-1")));
  28.             }
  29.             catch (Exception e) {
  30.                 e.printStackTrace();
  31.             }
  32.         }
  33.     }
  34.     public void print(String t, String u, String l) {
  35.         System.out.println(t);
  36.         System.out.println("URI: " + u);
  37.         System.out.println("Local name: " + l);
  38.     }
  39.     public static void main(String[] args) throws Exception {
  40.         SAXParserFactory spf = SAXParserFactory.newInstance();
  41.         spf.setNamespaceAware(true);
  42.         XMLReader reader = spf.newSAXParser().getXMLReader();
  43.         reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
  44.         reader.setContentHandler(new NameSpace());
  45.         reader.parse("TsinghuaIPAssign.xml");
  46.     }
  47. }