0

我正在解析一个 XML 文件并在内部构建一个树。这是我们 XML 格式的 GUI 编辑器,它允许用户轻松修改 XML 文件,而无需实际进入原始数据。它还为我们的数据提供各种功能。

XML 文件中的每个元素都将对应于树上的一个节点,但现在我正在考虑如何存储属性以便我可以

  1. 在表格中显示它们
  2. 修改它们的值

我考虑过使用 HashMap,其中键是属性名称,值是该属性的相应值。例如,我可能有类似的东西

myattrs.put("Attr1", ... );
myattrs.put("Attr2", ... );
myattrs.put("Attr3", ... );

但是,我也想按一定的顺序显示它们。这也不是一个真正的问题:我可以让一个数组指定这个顺序,并用它来填充一个表。

return new String[] { "Attr3", "Attr1", "Attr2" }

但是,这种设计意味着我正在对键进行硬编码。

是否有另一种方法可以存储属性,以便我可以快速查找它们,以特定顺序显示它们,并且还能够修改与该属性关联的值?

4

1 回答 1

1

您可以使用LinkedHashMap而不是HashMap. 密钥顺序将被保留。

但是,您似乎走错了路。XML 是一种层次结构,通常以树的形式呈现。我不知道您是如何解析 XML 的,但如果您使用的是 DOM,您实际上不需要其他模型。DOM(文档对象模型)为您提供了一种标准且众所周知的方法来解析和建模 XML 文档。

但请稍等。直接使用 DOM,您将从现在的 19 世纪(对不起)前进到 20 世纪末。但是检查你的日历。现在是2013年。看看 JAXB 或其他可能让您的生活更轻松的更高级别的工具。祝你好运。

不要犹豫,在你的路上问问题。

于 2013-06-03T20:03:23.840 回答