C# 在使用xmlwrite时去掉xmlns行
我正在开发一个数据采集应用程序,我想使用DataSet类的XML编写方法实现一个保存项目函数。当我在数据表中使用原语类型(double、string等)时,XML写/读工作非常好。但是,当我向datatable中添加自定义类类型列时,XML文件输出中将充满包含XMLN、URL等的奇怪行。我知道这是由自定义类引起的,但如何才能消除它们?这使得整个XML读取过程极其缓慢 编辑(只是一个快速草图): 输出xml:C# 在使用xmlwrite时去掉xmlns行,c#,xml,datatable,C#,Xml,Datatable,我正在开发一个数据采集应用程序,我想使用DataSet类的XML编写方法实现一个保存项目函数。当我在数据表中使用原语类型(double、string等)时,XML写/读工作非常好。但是,当我向datatable中添加自定义类类型列时,XML文件输出中将充满包含XMLN、URL等的奇怪行。我知道这是由自定义类引起的,但如何才能消除它们?这使得整个XML读取过程极其缓慢 编辑(只是一个快速草图): 输出xml: <?xml version="1.0" standalone="yes"?>
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table1>
<Name>Somebody</Name>
<Result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<value>0.1234</value>
<name>Somebody</name>
<valid>true</valid>
</Result>
</Table1>
</NewDataSet>
某人
0.1234
某人
真的
请发布您的代码和生成的XML文件的示例。请查找更新的原始帖子。非常感谢。一种解决方案可能是使用删除名称空间的XmlWriter:该问题中显示的解决方案在您的情况下不起作用,因为在WriteXml方法的深处,XmlSerializer在获得其默认名称空间的地方被调用,而且没有允许您覆盖这些默认值的代码路径。谢谢大家!我改变主意了,因为我的问题似乎没有直接的解决办法。我在数据集中使用具有默认类型的额外表。干杯
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table1>
<Name>Somebody</Name>
<Result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<value>0.1234</value>
<name>Somebody</name>
<valid>true</valid>
</Result>
</Table1>
</NewDataSet>