Java Sax树(重复属性)

时间:2012-07-14 12:59:54

标签: java xml duplicates sax

我试图制作一个程序,它将通过SAX解析器从xml文档构建一个树。 但是在标签的结果名称构建成功,但在属性中我只看到最后一个标签的属性。

code有什么问题? 打印到树是在tag.toString()

2 个答案:

答案 0 :(得分:1)

尝试将第48行更改为:

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

答案 1 :(得分:0)

我想问题是你要为每个Attributes存储Tag个实例,并且每次调用Attributes调用时都会重用startElement()个实例。因此,每个Tag将看到具有相同内容的相同属性实例,即由解析器构造的最后一个内容。您必须为每个标记创建实际属性的副本(或Map或其他内容)。