Parse an XML string: Using DOM and a StringReader.

来源:互联网 发布:医疗大数据面临的问题 编辑:程序博客网 时间:2024/06/10 02:00
import java.io.StringReader;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.helpers.DefaultHandler;public class MainClass {  public static void main(String args[]) {    try {      SAXParserFactory factory = SAXParserFactory.newInstance();      SAXParser saxParser = factory.newSAXParser();      DefaultHandler handler = new DefaultHandler() {        boolean name = false;        public void startElement(String uri, String localName, String qName, Attributes attributes)            throws SAXException {          if (qName.equalsIgnoreCase("NAME")) {            name = true;          }        }        public void characters(char ch[], int start, int length) throws SAXException {          if (name) {            System.out.println("Name: " + new String(ch, start, length));            name = false;          }        }      };      saxParser.parse(new InputSource(new StringReader(xmlString)), handler);    } catch (Exception e) {      e.printStackTrace();    }  }    static String xmlString = "<PHONEBOOK>" +      "  <PERSON>" +      "   <NAME>Joe Wang</NAME>" +      "   <EMAIL>joe@yourserver.com</EMAIL>" +      "   <TELEPHONE>202-999-9999</TELEPHONE>" +      "   <WEB>www.java2s.com</WEB>" +      "  </PERSON>" +      "  <PERSON>   " +      "<NAME>Karol</NAME>" +      "   <EMAIL>karol@yourserver.com</EMAIL>" +      "   <TELEPHONE>306-999-9999</TELEPHONE>" +      "   <WEB>www.java2s.com</WEB>" +      "  </PERSON>" +      "  <PERSON>" +      "   <NAME>Green</NAME>" +      "   <EMAIL>green@yourserver.com</EMAIL>" +      "   <TELEPHONE>202-414-9999</TELEPHONE>" +      "   <WEB>www.java2s.com</WEB>" +      "  </PERSON>" +      "  </PHONEBOOK>";}

 

 

或者

import java.io.StringReader;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.helpers.DefaultHandler;public class MainClass {  public static void main(String args[]) {    try {      SAXParserFactory factory = SAXParserFactory.newInstance();      SAXParser saxParser = factory.newSAXParser();      DefaultHandler handler = new DefaultHandler() {        boolean name = false;        public void startElement(String uri, String localName, String qName, Attributes attributes)            throws SAXException {          if (qName.equalsIgnoreCase("NAME")) {            name = true;          }        }        public void characters(char ch[], int start, int length) throws SAXException {          if (name) {            System.out.println("Name: " + new String(ch, start, length));            name = false;          }        }      };      saxParser.parse(new InputSource(new StringReader(xmlString)), handler);    } catch (Exception e) {      e.printStackTrace();    }  }    static String xmlString = "<PHONEBOOK>" +      "  <PERSON>" +      "   <NAME>Joe Wang</NAME>" +      "   <EMAIL>joe@yourserver.com</EMAIL>" +      "   <TELEPHONE>202-999-9999</TELEPHONE>" +      "   <WEB>www.java2s.com</WEB>" +      "  </PERSON>" +      "  <PERSON>   " +      "<NAME>Karol</NAME>" +      "   <EMAIL>karol@yourserver.com</EMAIL>" +      "   <TELEPHONE>306-999-9999</TELEPHONE>" +      "   <WEB>www.java2s.com</WEB>" +      "  </PERSON>" +      "  <PERSON>" +      "   <NAME>Green</NAME>" +      "   <EMAIL>green@yourserver.com</EMAIL>" +      "   <TELEPHONE>202-414-9999</TELEPHONE>" +      "   <WEB>www.java2s.com</WEB>" +      "  </PERSON>" +      "  </PHONEBOOK>";}


原创粉丝点击