
宜しくお願いいたします。
下記のプログラムで、
set Session("ServiceInfo") = CreateObject("MSXML2.DOMDocument.3.0")
Session("ServiceInfo").Async = False
Session("ServiceInfo").LoadXML "<?xml version=""1.0"" encoding=""Shift_JIS"" ?>" & Session("RoeApi").ReturnXml.xml
とやると、encoding属性が削除されてしまいます。
どうにかencoding属性までロードしたいのですが
どなたかご教授頂けないでしょうか。
No.3ベストアンサー
- 回答日時:
transformNodeToObjectの解説には以下のようにあります。
該当しませんか?The transformNodeToObject method always generates a Unicode byte-order mark, which means it cannot be used in conjunction with other Active Server Pages (ASP) Response.Write or Response.BinaryWrite calls.
この回答への補足
ご回答ありがとうございます。
Session("ServiceInfo")に日本語が混在している為、パースエラーが発生したと考え、encoding属性を付加しようと考えました。他の理由で、"テキストの内容に無効な文字が見つかりました"ということになるのでしょうか。
何か良い方法はございますでしょうか。
BinaryWrite を使用するということでしょうか。
No.4
- 回答日時:
"テキストの内容に無効な文字が見つかりました"
文字列のエンコーディングとencodingの属性が一致していないのではないですか?
encoding属性を付加しても変換を行ってくれるわけではないので、正しく指定する必要があります
この回答への補足
ご回答ありがとうございます。
正しくしてする必要があるとのことですが、
Session("ServiceInfo")、AddElDoc
DomDomでしょうか。
また、指定の方法をご教授頂けますでしょうか。
※
Session("ServiceInfo"):変換元XML
AddElDoc:変換用XSLT
DomDom:変換先オブジェクト
No.2
- 回答日時:
ちょっと気になったことが...外してそうな気もしますが
> 、<?xml version="1.0?>しか付加できませんでした。
は、DomDomを何らかの形で出力して確認したってことですよね?どんな方法で出力したんでしょう?
xmlプロパティを使用してDOMの内容を覗くと、encoding属性が見えません。これを回避するにはsaveメソッドを使用する必要があります。
参考URL:http://msdn.microsoft.com/library/en-us/xmlsdk/h …
この回答への補足
ご回答ありがとうございます。
xmlプロパティを使用して出力しましたのでご回答どおりです。
ということは、以下の処理でパースエラーがでたのは、なぜなのでしょうか?
Session("ServiceInfo")をxmlプロパティで出力したものをAddElDoc(変換用XSL)で変換するとパースエラーは出ないのですが、TransformNodeToObjectを使用するとパースエラーが出てしまいます。
<<パースエラーが発生した処理>>
Session("ServiceInfo").TransformNodeToObject AddElDoc,DomDom
No.1
- 回答日時:
MSXMLではencodingを保持しているように見えるのですが、なにをもってして
> encoding属性が削除されてしまいます。
という結論を出されたのでしょうか?
なぜ自分で指定した属性をDOMを通して取得したいのでしょう?
この回答への補足
すみません説明がたりませんで。
LoadXMLでロードしたDOM(Session("ServiceInfo"))を、AddElDocというXSLで加工して、DomDomというDOMへ格納しようとしたところ、"テキストの内容に無効な文字が見つかりました"というパースエラーが発生しました。
Session("ServiceInfo")の中を確認しますと、XML宣言がなくそれをLoadXMLで付加しようとしたところ、<?xml version="1.0?>しか付加できませんでした。
<<パースエラーが発生した処理>>
Session("ServiceInfo").TransformNodeToObject AddElDoc,DomDom
以上、宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
dataファイルをxtxファイルにす...
-
ChatGPT excel
-
ray-mmdについて
-
MSFormsとは何ですか?
-
ヤフー知恵袋みたいなサイトを...
-
Windowsで見かけるxmlファイル...
-
reaper音声ファイルについて
-
スマホのスプレッドシートでセ...
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
XMLとは何ですか?
-
特殊文字の検索方法
-
フォルダー内検索
-
公文書のxmlファイルの開き方が...
-
Webページに関するさまざまな情...
-
head要素
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XPathで途中に名前空間が設定さ...
-
XML文のid属性とclass属性について
-
XMLファイル内のデータ(値)を変...
-
VBAでXMLを出力するプログラム...
-
ホームページ作成 アンカーと...
-
VBSでのDOM操作について
-
VB6でXMLを作成しているのです...
-
XMLDocumentでスキーマを無視し...
-
エクセルVBA ウェブ上のボタ...
-
VBAでXML文書のある特定タグ以...
-
CPUの考え方を教えてください ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
東芝のDynabookなのですがアン...
-
XMLで要素が記述された順番に意...
-
XML、XSLTの適応エラー(IEから...
-
C#でTreeViewのCheckBoxのサイ...
-
xmlファイルが上手にHTMLに変換...
-
昔Winnyってありましたけど、あ...
-
バッチファイルでテキストファ...
おすすめ情報