我试图制作一个程序,它将通过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或其他)。