2014-04-08 5 views
0

XML 파일을 구문 분석하려고합니다. 결과는 symbol = "YHOO"에 대한 정보가있는 목록이어야합니다.XMLStreamReader를 사용하여 xml 구문 분석

XML 파일은 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

문제는 SAX의 Handler 클래스를 변경하여 해결할 수 있습니다. 이는 특정 XML 파일에만 적용됩니다.

내 문제를 해결하는 데 도움이 된 this document에서 발견되었습니다. SAX는 매우 구체적으로 처리기를 필요에 맞게 변경해야합니다.

+0

이 링크가 질문에 대답 할 수 있지만, 항상 주 정보를 실제 답변에 넣어야합니다. 외부 웹 사이트가 변경 될 수 있으며 SO가 향후에도 유용한 리소스가되기를 바랍니다. – dirkk

+0

문제는 SAX의 Handler 클래스를 변경하여 해결할 수 있습니다. 이는 XML 파일에만 해당됩니다. 정말 답을 일반화 할 수는 없습니다. 그러나 나는 사이트가 사라질 수 있다는 사실을 정말로 생각하지 못했습니다. 인터넷에 대해서 너무 낙관적이었습니다. – Milan