宜しくお願いいたします。
下記のプログラムで、
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で質問しましょう!
似たような質問が見つかりました
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- 教えて!goo アプリで締め切った質問に追加回答の手続きは可能ですか? 2 2023/04/09 19:08
- プリンタ・スキャナー PIXUS MG7530 印字がかすれます 3 2022/12/10 15:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLの要素の内容の中に要素
-
VBAでXMLを出力するプログラム...
-
XMLをエクセルに取り込むマクロ...
-
WebBrowser1.Document.Body.Inn...
-
XMLファイル内のデータ(値)を変...
-
東芝のDynabookなのですがアン...
-
SNMP リンクダウンとノードダ...
-
XMLで特殊文字を扱うにはどうし...
-
XSLで、XMLの空タグを制御したい。
-
xmlファイルが上手にHTMLに変換...
-
UTF-8でエンコーディングとはど...
-
XMLで要素が記述された順番に意...
-
XML、XSLTの適応エラー(IEから...
-
u_shortなどの省略した宣言につ...
-
コンテキストメニュークリック...
-
特殊記号が勝手にエスケープさ...
-
ルート要素ノードが2個ある場合?
-
ToolStripMenuItemの選択(VB)
-
VB.NETで最後フォのフォ...
-
XMLをXSLを使いHTMLに変換した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XPathで途中に名前空間が設定さ...
-
XMLファイル内のデータ(値)を変...
-
XML文のid属性とclass属性について
-
VBAでXMLを出力するプログラム...
-
VBAでXML文書のある特定タグ以...
-
エクセルVBA ウェブ上のボタ...
-
XMLDocumentでスキーマを無視し...
-
VB6でXMLを作成しているのです...
-
WebBrowser1.Document.Body.Inn...
-
XMLの要素の内容の中に要素
-
ホームページ作成 アンカーと...
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
バッチファイルでテキストファ...
-
XML、XSLTの適応エラー(IEから...
-
XMLで要素が記述された順番に意...
-
XML同じ名前の要素を自動で集約...
-
xmlファイルが上手にHTMLに変換...
-
UTF-8でエンコーディングとはど...
-
excelにてweb関数を使い、webデ...
おすすめ情報