2016-07-07 6 views
0

次のXMLファイルを解析し、タグブックのすべての属性のリストを出力します。私はSAXパーサーで解析しています。問題は、最初の属性のみを印刷していることです。他の属性は印刷されません。 XMLは次のとおりです。SAXパーサーがタグの複数の属性を取っていない

<?xml version="1.0"?> 
<catalog> 
    <book id="bk101" action="lock"> 
     <author>Gambardella, Matthew</author> 
     <title>XML Developer's Guide</title> 
     <genre>Computer</genre> 
    </book> 
</catalog> 

タグブックのすべての属性を印刷するにはどうすればよいですか。

+0

ちょうど好奇心が強い、なぜ豚のようなアバターがありますか? :) –

答えて

0

startElementのSAXコールバックは、次のようになります。属性はループ内で解析されます:

public void startElement(String namespaceURI, String localName, 
         String qName, Attributes atts) 
throws SAXException 
{ 
    System.out.print("<"+qName); 
    for(int i=0; i<atts.getLength(); i++) { 
    System.out.print(" "+atts.getQName(i)+"=\""+atts.getValue(i)+"\""); 
    } 
    System.out.println(">"); 

} 
+0

java以外の言語の場合も同様です: 'atts'を反復してください – frank

+0

はい、それは正しく実行されません。 –

関連する問題