在java中基于XPath创建XML节点

时间:2011-09-22 23:39:02

标签: java dom xpath

我有一个配置文件可能包含也可能不包含XPath为的某个元素:

/configuration/server/address

当我编写配置时,如果节点不存在,我必须创建它。

Node n = (Node)xp.evaluate("/configuration/server/address", configDocument, XPathConstants.NODE);

但是,毫不奇怪,如果真实文件中不存在该节点,则节点为空。

问题

确定。我的想法是像File:我可以定义一个不存在的路径:

File f = new File("myInexistentDir/myInexistentSubdir");

然后,我调用 f.mkdirs(),并在现实世界中复制路径。 是否可以使用java实现XPath?

可能的反对意见。很明显,并非所有XPath表达式都是“可创建节点”。 在哪里创建“// anywhere”元素? 我会说“// anywhere”表达式在严格意义上不是“路径”,它更类似于查询。

1 个答案:

答案 0 :(得分:0)

我从未见过这样的事情。快速浏览一些替代解析器的JavaDocs也没有找到任何东西。 XOM从它的XPath引擎返回一个Nodes对象,它允许插入。这可能会让你接近你需要的东西。