我正在解析XML文件并在内部构建树。这是我们XML格式的GUI编辑器,允许用户轻松修改XML文件,而无需实际进入原始数据。它还为我们的数据提供各种功能。
XML文件中的每个元素都对应树上的一个节点,但现在我正在考虑如何存储属性以便我可以
我想过使用HashMap,其中键是属性名称,值是该属性的对应值。例如,我可能会有像
这样的东西myattrs.put("Attr1", ... );
myattrs.put("Attr2", ... );
myattrs.put("Attr3", ... );
但是,我还希望以一定的顺序显示它们。这也不是一个真正的问题:我可以让一个数组指定这个顺序,并使用它来填充一个表。
return new String[] { "Attr3", "Attr1", "Attr2" }
然而,这种设计意味着我正在对键进行硬编码。
是否有其他方法可以存储属性,以便我可以快速查找它们,按特定顺序显示它们,还能够修改与该属性关联的值?
答案 0 :(得分:1)
您可以使用LinkedHashMap
代替HashMap
。键顺序将被保留。
然而,你似乎走错了路。 XML是一种层次结构,通常以树形式呈现。我不知道你是如何解析XML的,但如果你使用的是DOM,你实际上并不需要其他模型。 DOM(文档对象模型)为您提供了一种标准且众所周知的方法来解析和建模XML文档。
但是等一下。直接使用DOM,你将从19世纪(对不起)前进到现在,直到20世纪末。但请查看您的日历。现在是2013年。看看JAXB或其他更高级别的工具,让您的生活更轻松。祝好运。
在您的路上不要犹豫提问。