使用 install4j 将值写入 XML 文件时,如果遇到空 XML 节点元素,则该值不会写入文件,因为 xpath 表达式不正确或正则表达式无法匹配空节点值。 谁能解释一下在这种情况下我们需要做什么? 是否有正则表达式来匹配空节点值?这样正确的值就会被替换。 或者 Xpath 表达式需要更新以匹配空节点值。
作为此 XML 中的示例,电子邮件的值为 null,而不是空字符串。那么我们如何匹配表达式以便正确替换值。
<?xml version="1.0"?>
<Employees>
<Employee emplid="1111" type="admin">
<firstname>John</firstname>
<lastname>Watson</lastname>
<age>30</age>
<email></email>
</Employee>
</Employees>
使用 install4j 时的结果是 XML 文件从 <email></email>
更新。至</email>
这是因为空节点值没有被替换。
如果我们使用空格作为 <email> </email>
,该值已正确替换为我们要替换的内容。
任何帮助将不胜感激!
最佳答案
以 text() 结尾的 XPath 表达式无法匹配空节点,因为其中没有文本节点。但是,对于“使用正则表达式修改文本文件”操作,这确实非常有用。我们已经在 6.1.4 中实现了这一点。请联系 support@ej-technologies.com 以获取该功能已经可用的版本。
关于java - Install4j 使用正则表达式和 xpath 表达式更新 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40280034/