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 回答