2011-07-05 7 views
0

私はyersterday thisに質問しました。今私は同様のXMLファイルに問題があります。私の問題は、それがすべて "post_body"まで良いと読む。これは、starElementでタグ付けすると見つかりますが、このタグのコンテキストを出力することはできません。
なぜですか?私もendDocument()でsを印刷するように勧められましたが、それはdoesntの仕事のようです。ここに私のXMLファイルには、再び、コードです:<post_body>タグをXMLファイルから読み取ることができません

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
    <data> 
     <track clipid="1"> 
     <url>http://www.emp3world.com/to_download.php?id=33254</url> 
     <http_method>GET or POST</http_method> 
     <post_body>a=1&b=2&c=3</post_body> 
     </track> 
    </data> 
</root> 

コード:

class MyHandler extends DefaultHandler 
{ 
    String str = ""; 
    StringBuilder s = new StringBuilder(); 
    public void startElement(String namespaceURI, String sName, String qName, Attributes atts) 
    { 

     s.setLength(0); 

     if(qName.equals("track")) 
     { 
      s.append("ID: ").append(atts.getValue("clipid")).append("\n"); 
     } 
     if(qName.equals("url")) 
     { 
      s.append("URL: "); 
     } 
     if(qName.equals("http_method")) 
     { 
      s.append("Http method: "); 
     } 
     if(qName.equals("header")) 
     { 
      s.append("Header: "); 
     } 
     if(qName.equals("post_body")) 
     { 
      s.append("Post body: "); 
     } 
    } 

    public void endElement(String uri, String localName, String qName) 
    { 
     System.out.println(s); 
    } 

    public void characters(char[] ch, int start, int length) throws SAXException { 
     s.append(new String(ch, start, length)); 
    } 
} 

答えて

1

これが有効なXMLではありません。

<post_body>a=1&b=2&c=3</post_body> 

&記号が正しくエンコードされないので、このファイルがあります不正な形式や無効な形式であり、XMLパーサーはそれを読み取ることはありません。それは

<post_body>a=1&amp;b=2&amp;c=3</post_body> 
+0

OKでなければなりません

、私はskaffmanありがとう、ということを知りませんでした – Kobe