【问题标题】:Asp.net XMLwriter CData Escape CharactersAsp.net XMLwriter CData 转义字符
【发布时间】:2009-08-16 19:00:57
【问题描述】:

我使用 ASP.net VB.net 编写一个 XML 文件。

在一个名为“描述”的元素中,我必须添加一个“<![CData[Class : <b>Class Name</b><br>Price: 100,000.00]]>”。

使用,

strDes = "<![CDATA[Class : <b>" + myReader.GetSqlValue(4).ToString + 
    "</b><br>Price: " + myReader.GetSqlValue(7).ToString + "]]>"
XMLwrite.WriteElementString("description", strDes.ToString)

但是当我生成 XML 文件时,它给出了

<description>&lt;![CDATA[Class : &lt;b&gt;Residential - Site Built&lt;/b&gt;&lt;br&gt;Price: 100,000.00]]&gt;</description>

【问题讨论】:

  • 那么,这有什么问题?你想让
    被解释为一个新行吗?如果是这样,请改用 vbCrLf(即 + "" + vbcrlf + "Price........"。

标签: asp.net xml vb.net cdata


【解决方案1】:

您应该始终使用 XML API 来创建 XML。您生成的 CDATA 应该由 XmLWriter API 生成。试试这个:

strDes = "Class : <b>" + myReader.GetSqlValue(4).ToString + _
    "</b><br>Price: " + myReader.GetSqlValue(7).ToString
XMLwrite.WriteStartElement("description")
XMLwrite.WriteCData(strDes);
XMLwrite.WriteEndElement();

【讨论】:

  • 我已经这样做了。有预感。不过非常感谢。
【解决方案2】:

如果您正在编写 CDATA 部分,则可以改用WriteCData 方法。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2015-02-16
    相关资源
    最近更新 更多