首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在connectionString中戳sqlmap.config?

如何在connectionString中戳sqlmap.config?
EN

Stack Overflow用户
提问于 2013-10-30 13:29:51
回答 2查看 575关注 0票数 0

以类似于这里的方式,我希望从sqlmap.config文件中获取xmlpoke connectionString:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<sqlMapConfig
   xmlns="http://ibatis.apache.org/dataMapper"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

    <database>
        <provider name="oracleClient1.0"/>
        <dataSource name="DSExtranetAdherent"
                    connectionString="Data Source=MyInstance;User ID=MyUser;Password=MyPwd;Unicode=True;"/>

    </database>

</sqlMapConfig>

我试着用这个戳:

代码语言:javascript
复制
<xmlpoke
  file="${ConfigPath}\sqlmap.config"
  xpath="/sqlMapConfig/database/dataSource/@connectionString"
  value="${ConnectionString}" />

但我收到一条错误信息:

'/sqlMapConfig/database/dataSource/@connectionString'.表达式XPath没有找到匹配的节点

当我移除xmlns属性时,xpath是有效的,但是我得到了这个运行时错误:

无法通过资源"SqlMap.config“作为资源加载文件。

知道如何用好的xpath修复这个xmlpoke吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-30 14:58:47

xmlns是默认的命名空间,xmlpoke需要一个前缀用于xpath解析:

代码语言:javascript
复制
<xmlpoke
  file="${ConfigPath}\sqlmap.config"
  xpath="/iba:sqlMapConfig/iba:database/iba:dataSource/@connectionString"
  value="${ConnectionString}">
  <namespaces>
    <namespace prefix="iba" uri="http://ibatis.apache.org/dataMapper" />
  </namespaces>
</xmlpoke>
票数 1
EN

Stack Overflow用户

发布于 2013-10-30 13:49:55

应该为<namespaces>任务指定<xmlpoke>子节点:

代码语言:javascript
复制
<namespaces>
    <namespace prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" />
</namespaces>

本页上的最后一个示例只解释了你的案子。

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

https://stackoverflow.com/questions/19683629

复制
相关文章

相似问题

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