1

所以我正在开发这个应用程序并编写这个类来解析一个 xml。我创建了一个代表我的 xml 文件的类,我想为它映射一些东西,然后使用该映射来扩展我的解析器的能力。这是一个例子:

我知道每个文件中都有一个 DATE,在我正在解析的 XML 文件的当前版本中,<date>dateValue</date>我想将我的通用字符串“DATE”映射到“日期”,这样我就可以简单地引用一个数据结构(映射)并在键值(在本例中为“日期”)获取值(“日期”)。如果这就是我想做的所有事情,我只会使用哈希图。但是我添加了一些更复杂的东西,我有一个类来表示我从 xml 中提取的数据,比如:

public class myXML{
   String date;
   setDate(String input){
        this.date = input;
   }
}

所以我还想找出一种方法,用值“DATE”、“date”和现在的 setDate(“value”) 附加其他东西。那么首先有没有一种将 2 个值链接到一个键的好方法?其次,有没有一种好方法可以映射到一个函数,然后再使用它?如

function = map.getFunctionValue("DATE");
myXML.function(someValue);

所有这些都是示例代码,所以请不要评论缺少构造函数或语法错误:)

提前谢谢!

4

2 回答 2

0

Apache Commons 有一个 MultiMap。不幸的是,我在标准库中没有看到。

根据docs,他们似乎没有包含它,因为它并不经常需要。

多重映射类似于映射,但它可以将每个键映射到多个值。Java Collections Framework 不包含用于多图的接口,因为它们并不常用。将值为 List 实例的 Map 用作多图是一件相当简单的事情。

至于第二个问题,Java 遗憾地缺乏一流的函数,因此没有优雅的方法可以做到这一点。您可以采用的各种方法包括使用自定义接口、包装类、反射和字节码破解。

于 2012-10-29T23:33:54.660 回答
0

试着看看Xstream,从这个相关的问题中得到它

于 2012-10-30T10:52:42.303 回答