我試圖製作一個程序,它將通過SAX解析器從xml文檔構建一棵樹。 但在結果標籤名稱建立sucsessful,但在屬性我只看到最後一個標籤的屬性。Java薩克斯樹(重複屬性)
code有什麼不對? 打印到樹是tag.toString()
我試圖製作一個程序,它將通過SAX解析器從xml文檔構建一棵樹。 但在結果標籤名稱建立sucsessful,但在屬性我只看到最後一個標籤的屬性。Java薩克斯樹(重複屬性)
code有什麼不對? 打印到樹是tag.toString()
嘗試改變線48成:
Tag t = new Tag(eName, new org.xml.sax.helpers.AttributesImpl(attrs));
我想這個問題是你存儲Attributes
實例每個Tag
,那Attributes
實例重新用於在每個調用到startElement()
invokation。因此,每個Tag
將會看到具有相同內容的相同屬性實例,即分析器構建的最後一個屬性實例。您將不得不爲每個標籤創建實際屬性的副本(或Map或其他)。