2012-08-02 31 views
0

我有一個XML通過我的客戶這樣的規定:XML SAX解析犯規返回所需的結果

<?xml version='1.0' encoding='UTF-8' ?><quizzes updatetimestamp='2012-08-01 06:24'><quiz q_id='1'> 
<q_name>Airplane!</q_name > 
<q_appleid>com.patelware.moviesquiz.free</q_appleid> 
<q_description>"Roger, Roger"</q_description> 
<q_urlicon>http://www.inall3.com/king/icons/airplane_icon.png</q_urlicon> 
<q_urlmainimg>http://www.inall3.com/king/icons/airplane_main.png</q_urlmainimg> 
<q_urldb>http://www.inall3.com/king/dbs/airplane.xml</q_urldb> 
<q_timesofupload>2011-05-01 00:00:00</q_timesofupload> 
<q_priceindollar>0.00</q_priceindollar> 

<q_cattype>Comedy</q_cattype> 
<q_thighscore>http://www.inall3.com/hs/highscoreairplane.php?action=gethighscores&amp;mode=1</q_thighscore> 
<q_phighscore>http://www.inall3.com/hs/highscoreairplane.php?action=gethighscores&amp;mode=2</q_phighscore> 
</quiz> 

但是當我解析它使用SAX解析器一切正常返回,但是當我嘗試解析<q_thighscore><q_phighscore>其返回只是mode=1mode=2,但我想要完整的鏈接進行分析,問題在哪裏,我現在應該做什麼?

+0

我認爲它有一些做的事實,'< q_thighscores>'是唯一包含查詢字符串的網址。或分號。 – 2012-08-02 18:35:28

+0

我該怎麼辦? – Reyjohn 2012-08-02 18:36:14

+0

通過一些文檔或東西看看?我很抱歉,我沒有太多幫助,我不使用解析器。 – 2012-08-02 18:40:03

回答

0

我已經解決了它,我只是用,而不是SAX解析器拉解析器和它的工作:)

0

您可能想要使用sax默認處理程序。看看它是否有效。如果不需要擴展默認處理程序並覆蓋此方法的行爲以正確存儲該值。 myURLString是您在擴展類中定義的變量。然後可以在endElement方法中訪問這個變量。你在這裏完全控制這個。

所以一種方法是擴展org.xml.sax.helpers.DefaultHandler;

和下面覆蓋

protected String myValueString; 


    @Override 
    public void characters(char[] ch, int start, int length) throws SAXException 
    { 
    super.characters(ch, start, length); // deal with escape values here. 
      myValueString = ... 

    } 

then inside endElement(){ 


    check if matches your type and if so use myValueString;