Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试制作一个程序,该程序将通过 SAX 解析器从 xml 文档构建树。但是在标签的结果名称中构建成功,但在属性中我只看到最后一个标签的属性。
代码有什么问题?打印到树在 tag.toString()
尝试将第 48 行更改为:
Tag t = new Tag(eName, new org.xml.sax.helpers.AttributesImpl(attrs));
我想问题是您正在Attributes为 each 存储实例,并且每次调用调用都会重用Tag该实例。因此,每个人都会看到具有相同内容的相同属性实例,即解析器构造的最后一个属性实例。您必须为每个标签创建实际属性的副本(或地图或其他)。AttributesstartElement()Tag
Attributes
Tag
startElement()