次のWebサービスがあります。<?xml version="1.0" encoding="utf-8"?>
出力には、ファイルの先頭にXML 宣言があります。モバイル アプリが正しく動作するためには、これを削除する必要があります。どうすればいいのですか?
[WebMethod]
public XmlDocument GetTileData(string user)
{
var xml = new XmlDocument();
xml.LoadXml(string.Format(@"<tile>
<visual>
<binding template='TileWideSmallImageAndText02'>
<image id='1' src='http://server/images/{0}_wide.png'/>
<text id='1'>Custom Field : {1}/text>
<text id='2'>Custom Field : {2}</text>
<text id='3'>Custom Field : {3}</text>
</binding>
<binding template='TileSquarePeekImageAndText01'>
<image id='1' src='http://server/images/{0}_square.png'/>
<text id='1'>Custom Field</text>
<text id='2'>{1}</text>
</binding>
</visual>
</tile>", value1, value2, value3, value4));
return xml;
}
編集 1: ドキュメントの代わりに Xml 要素を返そうとしましたが、どちらも機能していません。私はまだ宣言を見ています。
[WebMethod]
public XElement GetTileData(string user)
{
var xml = XDocument.Parse(string.Format(@"<tile>
<visual>
<binding template='TileWideSmallImageAndText02'>
<image id='1' src='http://server/images/{0}_wide.png'/>
<text id='1'>Custom Field : {1}/text>
<text id='2'>Custom Field : {2}</text>
<text id='3'>Custom Field : {3}</text>
</binding>
<binding template='TileSquarePeekImageAndText01'>
<image id='1' src='http://server/images/{0}_square.png'/>
<text id='1'>Custom Field</text>
<text id='2'>{1}</text>
</binding>
</visual>
</tile>", value1, value2, value3, value4));
return xml.Root;
}
編集 2: HttpHandler を使用して、この問題を回避できました。以下の私の答えを見てください。