0

hereと同様の方法で、sqlmap.config ファイルから connectionString を xmlpoke したいと思います。

<?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>

私はこのポークで試しました:

<xmlpoke
  file="${ConfigPath}\sqlmap.config"
  xpath="/sqlMapConfig/database/dataSource/@connectionString"
  value="${ConnectionString}" />

しかし、エラーメッセージが表示されます:

[xmlpoke] XPath 式 '/sqlMapConfig/database/dataSource/@connectionString' に一致するノードが見つかりませんでした。

プロパティを削除すると xpath は有効になりxmlnsますが、次のランタイム エラーが発生します。

リソース "SqlMap.config" を介してファイルをリソースとしてロードできません。

このxmlpokeを適切なxpathで修正する方法について何か考えはありますか?

4

2 に答える 2

1

xmlnsはデフォルトの名前空間です。xmlpoke には xpath 解析用のプレフィックスが必要です。

<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>
于 2013-10-30T14:58:47.347 に答える
0

タスクの<namespaces>子ノードを指定する必要があります。<xmlpoke>

<namespaces>
    <namespace prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" />
</namespaces>

このページの最後のサンプルは、あなたのケースを説明しています。

于 2013-10-30T13:49:55.943 に答える