使用XMLStreamReader解析xml

时间:2014-04-08 17:22:49

标签: java xml sax

我想解析一个XML文件。 结果必须是包含symbol =“YHOO”信息的列表。

XML文件来自yahoo使用YQL。例如:http://goo.gl/xB84eN

private XMLStreamReader makeXML(URL url) throws XMLStreamException, IOException {
    InputStream stream = url.openStream();
    XMLInputFactory xmlif = XMLInputFactory.newInstance();
    XMLStreamReader xmlr =  xmlif.createXMLStreamReader(stream);

现在我想使用SAX从XML中获取一些数据。 但是我无法弄清楚如何使用XMLStreamReader及其描述的事件来获取属性和元素:http://docs.oracle.com/javaee/5/api/javax/xml/stream/XMLStreamReader.html

我试过了:

private void readXML() throws XMLStreamException {
    while(XMLStream.hasNext()) {
          if(next == XMLStreamReader.START_ELEMENT){
             System.out.println(XMLStream.getName());

但是如何获得具有所有正确数字的“YHOO”的所有数据?

提前致谢!

1 个答案:

答案 0 :(得分:-1)

通过更改SAX的Handler类可以解决问题。这特定于给定的XML文件。

我从this document找到了帮助我解决问题的方法。 看起来SAX非常具体,所以你必须根据需要改变Handler。