首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除xmltask不起作用

删除xmltask不起作用
EN

Stack Overflow用户
提问于 2013-12-17 23:27:14
回答 1查看 2.3K关注 0票数 2

我有这个application.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_1326308152661" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
   <description>MIC Server Application.</description>
   <module>
      <web> ...         
      </web>
   </module>
   <module>
      <ejb>mic-sqlbridge.jar</ejb>
   </module>
   <security-role> ...
   </security-role>
</application>

在此xml中,必须删除包含标记ejb的'module‘部分标记。为了做到这一点,我尝试了

代码语言:javascript
复制
<xmltask source="application.xml" dest="application_X.xml"> 
   <remove path="/application/module[ejb/text() = 'mic-sqlbridge.jar']"/> 
</xmltask> 

不幸的是,这并没有删除任何东西--这是日志部分:

代码语言:javascript
复制
[xmltask] Reading application.xml
[xmltask] Executing xmltask 1.16
[xmltask] Processing application.xml into application_X.xml
[xmltask] Using predefined xml catalog
[xmltask] Applying RemovalAction() to /application/module[ejb/text() = 'mic-sqlbridge.jar']
[xmltask] Applied RemovalAction() - 0 match(es)
[xmltask] RemovalAction() (/application/module[ejb/text() = 'mic-sqlbridge.jar']) failed to match
[xmltask] Normalizing resultant document

有什么想法吗?提前感谢!

弗兰克

EN

回答 1

Stack Overflow用户

发布于 2013-12-18 16:08:29

阅读this给我带来了解决方案:“用前面的':‘限定每个元素名称的范围就足以告诉XPath机制您对元素的本地名称感兴趣。”

因此,path语句

代码语言:javascript
复制
path="/application/module[ejb/text() = 'mic-sqlbridge.jar']"

变成了

代码语言:javascript
复制
path="/:application/:module[:ejb/text() = 'mic-sqlbridge.jar']"

完美运作的方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20638059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档