我想使用.writeXml函数创建我的DataSet的XML。 如果我的DataSet中的条目为null,我希望有一个空标记而不是缺少标记:
示例如果约翰没有年龄,它应该是什么样子:
<MyDataSet>
<ID>8613458</ID>
<AW_ID>37534778</AW_ID>
<NAME>Peter</NAME>
<AGE>22</AGE>
</MyDataSet>
<MyDataSet>
<ID>8613459</ID>
<AW_ID>37534779</AW_ID>
<NAME>John</NAME>
<AGE></AGE>
</MyDataSet>
示例现在看起来如何:
<MyDataSet>
<ID>8613458</ID>
<AW_ID>37534778</AW_ID>
<NAME>Peter</NAME>
<AGE>22</AGE>
</MyDataSet>
<MyDataSet>
<ID>8613459</ID>
<AW_ID>37534779</AW_ID>
<NAME>John</NAME>
</MyDataSet>
你知道我需要做什么吗? 谢谢你的帮助!!
答案 0 :(得分:1)
我不认为你可以改变它,如果它们是NULL,它会写空值,因为NULL与空不同 但是,如果age的数据类型是一个字符串,只需浏览数据集并将任何NULL更改为空字符串,然后再将其写入XML并获得所需的效果。
答案 1 :(得分:0)
您可以使用WriteXmlSchema(和ReadXmlSchema)来存储表的架构。这意味着虽然XML列中不包含NULL列,但它们仍然可以正确导入。
using (SqlCommand sqlCommand = new SqlCommand(QUERY, CONNECTION))
{
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlCommand);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
dataSet.WriteXmlSchema(@"C:\TEMP\Schema.xsd");
dataSet.Tables[0].WriteXml(@"C:\TEMP\Output.xml");
}
这里有一篇非常有用的文章:Save Dataset to XML With Null Values