忘れられない激○○料理

下記のようなvbの実行ファイルとアプリケーション構成ファイルがあり、
xmlファイルからvalueの値を取得して処理を行っています。
・vb.exe
・vb.exe.config
・vbConfig.xml

【vbConfig.xml】
---------------------
<?xml version="1.0" encoding="utf-8" ?>
<config>
<params>
<param key="checkFile" value="ここに値を設定" />
</params>
</config>
---------------------

現在はvalueに設定値を明記していますが、設定したい値が環境ごとに異なるため、
各環境ごとにxmlファイルが存在しています。これを、OSのユーザー環境変数から
取得するように変更し、全環境のxmlファイルを統一したいと考えているのですが、
xmlのvalueにOSの環境変数を設定する方法はありますでしょうか?

尚、ユーザー環境変数は各環境のexe実行前にsetxコマンドで定義する想定です。
試しにsetxコマンドでVBTESTというユーザー環境変数を定義し、以下のような
記載にしてみたのですが、正しく動作しませんでした。
<param key="checkFile" value="%VBTEST%" />

書式が間違っているのでしょうか?それとも、上記のような使い方はできない
ものでしょうか?vb初心者で勝手が分からないため、記載内容に不備等も
あるかもしれませんが、アドバイスをお願い致します。

A 回答 (1件)

xmlファイルをどのようにして読んでいるかが不明なので(どのようなライブラリを使用しているか不明なので)


なんとも言えませんが、たぶん、
>書式が間違っているのでしょうか?それとも、上記のような使い方はできない
>ものでしょうか?
の回答は、「上記のような使い方はできない」になると思います。
もし、仮に使用しているxmlファイルを読み込むためのライブラリに%XXX%の文字を環境変数XXXから取得する
と明記されていれば、話はべつですが・・・・

ですので、vb.exeを改造するのが最も手っ取り早い解決策になるかと思います。
改造の内容は、「読み込んだ内容の該当箇所が"%XXX%"であれば、環境変数XXXの値で読み替える」ということになります。
    • good
    • 0
この回答へのお礼

やはりxmlだけではできないのですね。
exeを修正する等、別の方向で検討したいと思います。
ありがとうございました。

お礼日時:2016/09/16 11:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報