【问题标题】:Handling HTML Markup in XML during ASP.Net DeSerialization在 ASP.Net 反序列化期间处理 XML 中的 HTML 标记
【发布时间】:2011-09-14 06:59:42
【问题描述】:

我正在开发一个 asp.net MVC 3 Web 应用程序,该应用程序显示它从 XML Web 服务收集的数据。我已经定义了表示 XML 中的实体的对象,而不是手动解析,我将 XML 响应反序列化为相应的对象类型。

我的问题是 Web 服务中返回的数据在某些属性中包含 HTML 标记。

<directions>
Take a left <br/> now take right <br/>
</directions>

注意上面的&lt;br/&gt;,这会导致反序列化器失败。仅供参考,让大型网络服务提供商解决这个问题超出了这个单纯的开发人员的范围。

非常感谢任何帮助/建议以优雅地解决这种情况。出于努力/效率的原因,我不想求助于手动解析。

谢谢

【问题讨论】:

    标签: c# asp.net xml web-services xml-serialization


    【解决方案1】:

    在 CDATA 标记中包围 HTML

    <![CDATA[Take a left <br /> now take a right <br />]]>
    

    【讨论】:

    • 感谢@TheGeekYouNeed。虽然最好从源头解决问题,但这种改变必须在 Web 服务级别完成,我认为我无法完成。我必须想出一种方法来处理我的数据。
    • 再想一想,我在想是否可以捕获字符串中的响应,然后用非法数据修改标签。类似:Response.replace("", "", "]]>");
    • 我无法控制 XML(无法添加 CDATA)。有没有其他办法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2013-01-05
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多