いつもお世話になっております。
標題の件なのですが、VB.NETでXMLファイルから設定情報(Oracleのユーザー名やパスワード等)を取得するプログラムを作成しております。
以下がそのソースコードになります。
※VB.NET初心者なので、ネットにあったサンプルコードを参考にしました。
--------------------------------------------------
Public Function Setting_init() As Boolean
Dim xmlDoc As New DOMDocument30
Dim Node As IXMLDOMNode
Dim myErr
Dim FileName As String
FileName = "ini.xml"
Const PATH_DTS = "//Settings/Database/DataSource"
Const PATH_UID = "//Settings/Database/UserId"
Const PATH_PSW = "//Settings/Database/Password"
Const PATH_FRM = "//Settings/Path/Form"
Const PATH_OUT = "//Settings/Path/Output"
xmlDoc.async = False
xmlDoc.resolveExternals = False
xmlDoc.load(FileName)
If (xmlDoc.parseError.errorCode <> 0) Then
myErr = xmlDoc.parseError
Setting_init = False
Else
xmlDoc.setProperty("SelectionLanguage", "XPath")
Node = xmlDoc.selectSingleNode(PATH_DTS)
G_DataSorce = Node.text
Node = xmlDoc.selectSingleNode(PATH_UID)
G_UsrId = Node.text
Node = xmlDoc.selectSingleNode(PATH_PSW)
G_PassWord = Node.text
Node = xmlDoc.selectSingleNode(PATH_FRM)
G_FormPath = Node.text
Node = xmlDoc.selectSingleNode(PATH_OUT)
G_OutPath = Node.text
Setting_init = True
End If
End Function
--------------------------------------------------
ちなみにXMLファイルの内容は
--------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<Database>
<DataSource>Oracleサーバー名</DataSource>
<UserId>ユーザー名</UserId>
<Password>パスワード</Password>
</Database>
<Path>
<Form>フォームが存在するフォルダパス</Form>
<Output>ファイルを出力するフォルダパス</Output>
</Path>
</Settings>
--------------------------------------------------
となっております。
お客様の環境で実行したら、このプログラムのxmlDoc.load(FileName)の箇所でエラーが出ました。
読み取るXMLファイル内の漢字を除いたら実行できたみたいなのですが、
開発環境ではXMLファイルに漢字を含んでいても問題なくload出来るのです。
端末に依存するのでしょうか?
それともこの文字があったらダメというのがあるのでしょうか?
何か情報があればご教示願います。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
秀丸でファイルにUTF-8のBOMがちゃんとついていれば、メモ帳で編集してもうまくいくと思うのですが、つかない場合うまくいかない可能性があるかもしれません。
BOMはテキストファイルをバイナリエディタで開いて、先頭3バイトが
EF BB BF
になっていればついていること言うことになる。
(ついていない場合、すべてASCII文字であるとき、Shift_JISとの区別がつかなくなるため、再編集時にShift_JISになる可能性がある)
もしくは、メモ帳のほうでUFT-8が対応していないという可能性があるかもしれません。
(Vistaに付属しているメモ帳はUTF-8に対応している)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
自分で作成した重要ファイルを...
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
参照するファイルをワイルドカ...
-
ADODB.Streamで開いたファイル...
-
コマンドプロンプトで作成日時...
-
exeファイルの中身を見る方法は...
-
jarファイル
-
VB.netで DirListBoxを使いたい
-
実行ファイル(.exeファイル)...
-
ハイパーリンクされたJPGファイ...
-
g1tファイルとは
-
既に開いているエクセルを閉じ...
-
公文書のxmlファイルの開き方が...
-
Seasar2のdiconファイルの読み方
-
バッチ処理で追記コピーしたい
-
Word VBA MSGBOX 内で降順表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneでXMLファイルを開くには...
-
公文書のxmlファイルの開き方が...
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
jarファイル
-
Seasar2のdiconファイルの読み方
-
Word VBA MSGBOX 内で降順表示
-
監視ツールを入れさせられまし...
-
CSSを1ページに1枚作るのって変...
-
コマンドプロンプトで、指定し...
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
Latexで図番号だけを「図1.1」...
-
参照するファイルをワイルドカ...
-
バッチ処理で追記コピーしたい
おすすめ情報