xmltasks 不工作
我有以下任务,但由于某种原因与我的文件不匹配:
<xmltask source="nbproject/project.xml" dest="nbproject/project.xml">
<replace path="/project/configuration/data/class-path-extension/runtime-relative-path/text()"
withText="ext/extensions/${extension-lib.dist.jar}.jar"/>
<replace path="/project/configuration/data/class-path-extension/binary-origin/text()"
withText="${original.project.dir}/dist/${extension-lib.dist.jar}.jar"/>
</xmltask>
这是我正在搜索的 xml 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.apisupport.project</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
.
.
.
<class-path-extension>
<runtime-relative-path>ext/extensions/Zone_x.jar</runtime-relative-path>
<binary-origin>../../Simple Marauroa Java/Zone Extension/dist/Zone_y.jar</binary-origin>
</class-path-extension>
</data>
</configuration>
我删除了对这个问题不重要的内容。在同一文件上使用 NetBeans 的 Xpath 插件分别显示 ext/extensions/Zone_x.jar 和 ../../Simple Marauroa Java/Zone Extension/dist/Zone_y.jar 的匹配项,但任务看不到它们。
有什么想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题在于输入 XML 使用命名空间。解决方案是使用
*[local-name()='project']
而不是project
等,这意味着你需要编写The problem is that the input XML uses namespaces. The solution is to use
*[local-name()='project']
instead ofproject
, etc., which means you need to write只需使用“:”作为本地名称空间。
前任。
替换 path="/:project/:configuration/:data/:class-path-extension/:runtime-relative-path/text()"
参考文档 = https://today.java.net/article/2006/10/31/xml-manipulation-using-xmltask
阅读部分 - 路径和命名空间
simply use ":" for local name space .
Ex.
replace path="/:project/:configuration/:data/:class-path-extension/:runtime-relative-path/text()"
Reference document = https://today.java.net/article/2006/10/31/xml-manipulation-using-xmltask
Read section - Paths and Namespaces