2012-07-14 56 views
1

我試圖製作一個程序,它將通過SAX解析器從xml文檔構建一棵樹。 但在結果標籤名稱建立sucsessful,但在屬性我只看到最後一個標籤的屬性。Java薩克斯樹(重複屬性)

code有什麼不對? 打印到樹是tag.toString()

回答

1

嘗試改變線48成:

Tag t = new Tag(eName, new org.xml.sax.helpers.AttributesImpl(attrs)); 
0

我想這個問題是你存儲Attributes實例每個Tag,那Attributes實例重新用於在每個調用到startElement() invokation。因此,每個Tag將會看到具有相同內容的相同屬性實例,即分析器構建的最後一個屬性實例。您將不得不爲每個標籤創建實際屬性的副本(或Map或其他)。