C# XML序列化命名空间和XSD生成
是否有一种方法可以控制序列化对象时XmlSerializer生成命名空间和XSD的顺序,或者至少可以控制它在标头中生成的内容 我得到的代码生成了以下xml,在另一台pc上,名称空间和XSD的顺序被切换,通常我怀疑这会是一个问题,但我正在对结果进行散列,因此它会导致我的散列发生变化C# XML序列化命名空间和XSD生成,c#,xml,xml-serialization,C#,Xml,Xml Serialization,是否有一种方法可以控制序列化对象时XmlSerializer生成命名空间和XSD的顺序,或者至少可以控制它在标头中生成的内容 我得到的代码生成了以下xml,在另一台pc上,名称空间和XSD的顺序被切换,通常我怀疑这会是一个问题,但我正在对结果进行散列,因此它会导致我的散列发生变化 <?xml version="1.0"?> <License xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http
<?xml version="1.0"?>
<License xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
</License>
...
假设您目前只是让xml序列化程序自己处理它:
通过在类中实现IXmlSerializable接口,可以很好地实现所需的结果
通过这种方式,您可以显式定义输出到XmlWriter的文本。感谢排序后的内容能够准确地控制xml在序列化之前输出的内容。