我有一个配置文件可能包含也可能不包含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”表达式在严格意义上不是“路径”,它更类似于查询。
答案 0 :(得分:0)
我从未见过这样的事情。快速浏览一些替代解析器的JavaDocs也没有找到任何东西。 XOM从它的XPath引擎返回一个Nodes
对象,它允许插入。这可能会让你接近你需要的东西。