DataSet.GetXml不返回空结果

pis*_*hio 5 xml asp.net dataset

每当我将DatSet转换为带有DataSet.GetXml的XML时,任何null值都将被忽略,因此,在我期望的情况下:

<value1>a</value1>
<value2></value2>
<value3>c</value3>
Run Code Online (Sandbox Code Playgroud)

我得到这个代替:

<value1>a</value1>
<value3>c</value3>
Run Code Online (Sandbox Code Playgroud)

任何快速而肮脏的方式来解决这个问题?谢谢

编辑:我认为解决方案将使用WriteXml。谁能提供给我一个使用示例而无需写入文件但却像GetXml一样获取字符串的示例?谢谢

sam*_*son 4

Microsoft 知识库文章中列出了该问题:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q317961

问题是您的数据集没有附加任何架构来指定应写出该元素。

我不相信使用 WriteXml 可以解决问题,如文档所述,"Calling this method is identical to calling WriteXml with XmlWriteMode set to IgnoreSchema."但您可以自由尝试 - 这是等效的代码:

StringWriter sw = new StringWriter();
ds.WriteXml(sw);
string outputXml = sw.ToString();
Run Code Online (Sandbox Code Playgroud)