gpt4 book ai didi

c# - Datatable.WriteXml-如何在元素名称中保留空格

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:34 28 4
gpt4 key购买 nike

我在将DataTable转换为XML的应用程序中添加了功能,如下所示:

dtResults.WriteXml(fileName);


将添加 _x0020_而不是输出的XML文档中的空格。

是否可以在没有 _x0020_代码的情况下生成XML文件?即可以使用该方法或类似方法生成XML文件,并且实际上保留了空格吗?

这是DataGrid:



这是生成的XML:

<Customers>
<Customer_x0020_Name>Sean</Customer_x0020_Name>
</Customers>
<Customers>
<Customer_x0020_Name>John</Customer_x0020_Name>
</Customers>
<Customers>
<Customer_x0020_Name>Sarah</Customer_x0020_Name>
</Customers>
<Customers>
<Customer_x0020_Name>Mark</Customer_x0020_Name>
</Customers>
<Customers>
<Customer_x0020_Name>Norman</Customer_x0020_Name>
</Customers>

最佳答案

列的名称包含一个空格。 XML元素名称不能包含空格。 XML中使用空格将元素名称与属性名称分开,例如:

<ElementName Attribute1="value" />


DataTable.WriteXml方法尝试以一致的方式写出XML文件,以便以后可以使用另一个 DataTable对象加载XML,并尽可能接近原始副本。因此,它将非法字符替换为其十六进制值,以使非法字符不会在翻译中丢失。

因此,如果要以其他方式将其写入XML,则需要执行以下任一操作:


更改 DataTable中的列名,使其不包含空格
使用 XDocumentXmlDocumentXmlWriterXmlSerializer手动手动输出XML,并根据需要格式化输出
像现在一样输出XML,然后在其上运行XSLT脚本以修复格式

关于c# - Datatable.WriteXml-如何在元素名称中保留空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com