我正在编写一个简单的配置帮助程序来保存变量 - 值组合,并能够保存和加载XML文件。
基本结构是围绕DefaultMutableTreeNode构建的,我使用一些方法扩展了它。例如,'get(String variable)'方法递归搜索节点的子节点以查找指定变量的值。
String user = conf.get(“Username”);
在调查使用DOM保存到XML后,我意识到它使用了类似的分层节点结构,而不是双重处理我考虑使用'org.w3c.dom.Node'来处理所有事情。
由于我无法以相同的方式扩展Node接口(仅实现它),哪个类实际实现了Node?我可以看到here IOMetadataNode,SOAPPart实现了Node接口,并且有一堆子接口。
是否有一定数量的double handling罚款?
答案 0 :(得分:0)
我已经能够使用MOXy
取消双重处理关于JAXBCustomizations的示例,我使用以下语法将XML元素与我的类中的变量进行匹配。只要存在具有匹配名称的setter / getter方法(例如var需要getVar和setVar方法),保存到XML并从XML加载是微不足道的。
@XmlRootElement
@XmlType(propOrder = {" var"," value"," childNodes"})
子节点是与父节点相同的类的实例,它们正确嵌套在父节点下面。