C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: IEでのXML表示


(過去ログ 13 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■4271 / inTopicNo.1)  IEでのXML表示
  
□投稿者/ とめお (1回)-(2007/06/12(Tue) 13:04:10)

分類:[C# (ASP.NET)] 

はじめまして。とめおと申します。

この、2,3日どうしてもはまっているものがありまして、知恵をお貸しいただければと思い投稿しました。

stringとして作成したXMLをIE上に

Response.Writeで表示しようとしているのですが、どうしてもXMLエラーが出てしまいます。

XMLのcharsetをUTF-8にして日本語を出そうとするとこのエラーになり、
XMLのcharset指定をShift_JISにすれば正常に表示されるということは間違いなく文字コードの問題だとは思うのですが、
なかなか解決せず途方にくれています。

いろいろ調べ

Encode.UTF8クラスを使用してみたり
UTF8Encoderクラスを使用してみたのですが、
どうしてもうまくいきませんでした。

ヒントでもかまいません、何か糸口がないでしょうか?

開発環境
OS:WindowsXP
.NET:VisualStudio 2003
言語:C#
引用返信 編集キー/
■4275 / inTopicNo.2)  Re[1]: IEでのXML表示
□投稿者/ HiJun (38回)-(2007/06/12(Tue) 13:48:18)
XML内にもエンコード指定できるはずですが、
XML内のエンコード指定はUTF-8を指定しているので
しょうか?


引用返信 編集キー/
■4277 / inTopicNo.3)  Re[2]: IEでのXML表示
□投稿者/ とめお (3回)-(2007/06/12(Tue) 14:03:37)
No4275 (HiJun さん) に返信
> XML内にもエンコード指定できるはずですが、
> XML内のエンコード指定はUTF-8を指定しているので
> しょうか?
>
>

お返事ありがとうございます!

はい、

<?xml version="1.0" encoding="UTF-8"?>

としています。
引用返信 編集キー/
■4278 / inTopicNo.4)  Re[1]: IEでのXML表示
□投稿者/ シャノン (176回)-(2007/06/12(Tue) 14:05:41)
No4271 (とめお さん) に返信
> Response.Writeで表示しようとしているのですが、どうしてもXMLエラーが出てしまいます。

どんなエラーですか?
引用返信 編集キー/
■4280 / inTopicNo.5)  Re[2]: IEでのXML表示
□投稿者/ とめお (4回)-(2007/06/12(Tue) 14:13:50)
No4278 (シャノン さん) に返信
> ■No4271 (とめお さん) に返信
>>Response.Writeで表示しようとしているのですが、どうしてもXMLエラーが出てしまいます。
>
> どんなエラーですか?

・シャノン様

エラーというか

「テキストの内容に無効な文字が見つかりました」

という、表示が出ます。
引用返信 編集キー/
■4282 / inTopicNo.6)  Re[3]: IEでのXML表示
□投稿者/ HiJun (39回)-(2007/06/12(Tue) 15:29:23)
XMLのデータの値が不正なものが
盛り込まれている気がしてならない。
(変な制御コードがはいっているとか。)

一度、ファイルの中身を確認してみてはいかがですか。

引用返信 編集キー/
■4283 / inTopicNo.7)  Re[4]: IEでのXML表示
□投稿者/ とめお (5回)-(2007/06/12(Tue) 15:57:44)
No4282 (HiJun さん) に返信
> XMLのデータの値が不正なものが
> 盛り込まれている気がしてならない。
> (変な制御コードがはいっているとか。)
>
> 一度、ファイルの中身を確認してみてはいかがですか。
>

・HiJun様

すみません、説明不足でした。
ファイルを読み込んでいるわけではなく、文字列をそのまま出しています。

細かい中身は違いますが、こんな感じです


private void Page_Load(object sender, System.EventArgs e)
{
StringBuilder sb = new StringBuilder();

sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.Append("<list>");
sb.Append("<name>あいうえお</name>");
sb.Append("</list>");

//念のためキャラセット
Response.Charset = "UTF-8"

Response.Write(sb.ToString());
}

こんな感じなのですが。
引用返信 編集キー/
■4284 / inTopicNo.8)  Re[5]: IEでのXML表示
□投稿者/ IIJIMAS (2回)-(2007/06/12(Tue) 16:12:39)
最後に
Response.Flush();
Response.Close();
するとどうでしょうか。
引用返信 編集キー/
■4287 / inTopicNo.9)  Re[6]: IEでのXML表示
□投稿者/ とめお (6回)-(2007/06/12(Tue) 16:46:00)
No4284 (IIJIMAS さん) に返信
> 最後に
> Response.Flush();
> Response.Close();
> するとどうでしょうか。

・IIJIMAS様

ご指摘の部分やってみました

private void Page_Load(object sender, System.EventArgs e)
{
StringBuilder sb = new StringBuilder();

sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.Append("<list>");
sb.Append("<name>あいうえお</name>");
sb.Append("</list>");

Response.Charset = "UTF-8"
Response.Write(sb.ToString());

//追加
Response.Flush();
Response.Close();

}

やはり

テキストの内容に無効な文字が見つかりました

と、出てきてしまいます。

またXMLのUTF-8の宣言部分をShift_JISにするときちんと表示されます。
引用返信 編集キー/
■4288 / inTopicNo.10)  Re[7]: IEでのXML表示
□投稿者/ Hongliang (145回)-(2007/06/12(Tue) 16:49:09)
Hongliang さんの Web サイト
ContentEncoding かしらん?
引用返信 編集キー/
■4289 / inTopicNo.11)  Re[8]: IEでのXML表示
□投稿者/ とめお (7回)-(2007/06/12(Tue) 17:04:54)
No4288 (Hongliang さん) に返信
> ContentEncoding かしらん?

でました!!

Response.ContentEncoding = System.Text.Encoding.UTF8;

としたら、きちんと表示されました。

短納期でしかも新言語というめちゃくちゃな環境の中で途方にくれておりましたが、本当に助かりました!!

HiJun様、シャノン様、IIJIMAS様、Hongliang様

本当にありがとうございました!
解決済み
引用返信 編集キー/
■4295 / inTopicNo.12)  Re[9]: IEでのXML表示
□投稿者/ 渋木宏明(ひどり) (229回)-(2007/06/12(Tue) 18:12:57)
渋木宏明(ひどり) さんの Web サイト
Content-Type も指定しないと駄目なんじゃないかな。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -