2

IHttpHandler から xml 文字列を次のように返そうとしています:

context.Response.Write(xml);

.aspx.cs で応答を受け取ったら、次のようにドキュメントを読み込もうとします。

var xml = XDocument.Load(xmlString);

しかし、Illegal Characters in Pathエラーメッセージが表示されます。

私も試してみました

context.Response.Write(context.Server.HtmlEncode(xml));

var xml = XDocument.Load(Server.HtmlDecode(xmlString));

しかし、同じメッセージが表示されます。IHttpHandler から XML を返す方法はありますか?

4

3 に答える 3

4

これを置き換えます:

var xml = XDocument.Load(xmlString);

これとともに:

var xml = XDocument.Parse(xmlString);
于 2010-11-10T01:13:15.540 に答える
1

XDocument.Load(String) はファイル パスを取ります。Reader オブジェクトを受け入れるオーバーロードの 1 つを使用したいと考えています。

于 2010-11-10T00:29:19.807 に答える
1

を設定してみてくださいcontext.Response.ContentType = "application/xml"

明らかに、XML が整形式であることも確認してください。MSDNには、HTTP ハンドラから XML を返す例があります。

XML を検証ツールに入れて (またはブラウザーで開いて)、問題を強調してみてください。

于 2010-11-10T00:32:53.017 に答える