1

これで、ASP ページにデータを送信する SMS サービスができました。

データは HTML エンコードされた xml として入ってきます。InputStream から直接読み取ると、次のようになります。

 Content-Disposition: form-data; name="xml"

<POSTBACK>
    <NOTIFICATION id="4254" created="2012-07-02 13:35:46.629214-04">
    <ORIGIN>SMS_MO</ORIGIN>
    <CODE>N211</CODE>
    <BODY><FROM>+15035555555</FROM><TO>60856</TO><TEXT>cats are cats</TEXT><RECEIVED>2012-07-02 13:35:46.038477-04</RECEIVED></BODY>
    </NOTIFICATION>
</POSTBACK>
------------------------------fde0d0d3bf3c--

手動で入力して文字コードを置き換え、それを XmlDoc に読み込むことができることを知っています...これは、時間のために行っていることです。

私が疑問に思っているのは、XML フォーム データを処理するためのネイティブ データ型または組み込みクラスがあるかどうかです。

試した:

string cleanString = HttpUtility.HtmlDecode(strRawtext);

でもなぜか同じに見える。

4

1 に答える 1

1

HttpUtility.HtmlDecode メソッドはこれを処理できる必要があります。

これは私にとってはうまくいきました:

private static void HtmlDecodeTest()
{
    string html = @"
<POSTBACK>
    <NOTIFICATION id=""4254"" created=""2012-07-02 13:35:46.629214-04"">
    <ORIGIN>SMS_MO</ORIGIN>
    <CODE>N211</CODE>
    <BODY><FROM>+15035555555</FROM><TO>60856</TO><TEXT>cats are cats</TEXT><RECEIVED>2012-07-02 13:35:46.038477-04</RECEIVED></BODY>
    </NOTIFICATION>
</POSTBACK>";

    string x = HttpUtility.HtmlDecode(html);
    Console.WriteLine(x);
}

結果:

        <POSTBACK>
            <NOTIFICATION id="4254" created="2012-07-02 13:35:46.629214-04">
            <ORIGIN>SMS_MO</ORIGIN>
            <CODE>N211</CODE>
            <BODY><FROM>+15035555555</FROM><TO>60856</TO><TEXT>cats are cats</TE
XT><RECEIVED>2012-07-02 13:35:46.038477-04</RECEIVED></BODY>
            </NOTIFICATION>
        </POSTBACK>
于 2012-07-02T17:57:23.957 に答える