java - Install4j 使用正则表达式和 xpath 表达式更新 XML 文件

标签 java regex xml xpath install4j

使用 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>

enter image description here

使用 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/

相关文章:

java - 替换android中的字符串?

java - 为什么 Maven 程序集插件将描述符 ref 附加到 finalName 值?

python - 有没有办法删除字符串中重复和连续的单词/短语?

java - Android:使用 xslt 转换 xml

java - 在 ElasticSearch 上使用 Lucene 进行搜索

java - 带有 Calendar.after 的 While 语句未启动

Java正则表达式单词匹配

java - 将显示名称字符串从 "First M. Last"更改为 "Last, First M."?

xml - 在 Excel VBA 中将图像 (jpg) 转换为 base64?

xml - XSLT 无法匹配具有特定命名空间的元素