ExecuteXmlReader 无 CDATA 的解决办法

作者:vkvi 来源:ITPOW(原创) 日期:2010-6-28

查了很多资料,都没发现怎么将 ExecuteXmlReader 中加上 CDATA。

最终我的办法就是不用 ExecuteXmlReader,而用 DataView(类似的也可以)。看来 ExecuteXmlReader 方法真是个鸡肋,用在纯数字的报表上还可以。

代码(未作特殊字符处理,详见 XmlTextReader 解析 XML 时遇到特殊字符出错)。

// dv 是 DataView 对象
for (int i = 0; i < dv.Count; i++)
{
    string row = "";
    for (int j = 0; j < dv.Table.Columns.Count; j++)
    {
        row += "<" + dv.Table.Columns[j].ColumnName + ">" +
               "<![CDATA[" + HttpUtility.HtmlEncode(Convert.ToString(dv[i][j])) + "]]>" +
               "</" + dv.Table.Columns[j].ColumnName + ">";
    }
    xml += "<row>" + row + "</row>";
}

相关阅读

相关文章