.net - XmlSerializer : remove unnecessary xsi and xsd namespaces

标签 .net xml xml-serialization

有没有办法配置 XmlSerializer,使其不在根元素中写入默认命名空间?

我得到的是这样的:

<?xml ...>
<rootelement xmlns:xsi="..." xmlns:xsd="...">
</rootelement>

我想删除两个 xmlns 声明。

重复:How to serialize an object to XML without getting xmlns=”…”?

最佳答案

//Create our own namespaces for the output
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

//Add an empty namespace and empty value
ns.Add("", "");

//Create the serializer
XmlSerializer slz = new XmlSerializer(someType);

//Serialize the object with our own namespaces (notice the overload)
slz.Serialize(myXmlTextWriter, someObject, ns)

关于.net - XmlSerializer : remove unnecessary xsi and xsd namespaces,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760262/

相关文章:

.net - 在 .net 项目的 gradle 中使用 setupbuilder 插件创建 msi 或 exe 安装程序

c# - 删除具有外键引用约束的行时用户友好的错误消息

c# - WCF 终结点 : Message. WriteMessage 更改 XML 消息内的结束标记

java - 从android发送序列化数据到java

c# - 反序列化嵌套类时不希望出现 xmlns =''

xml - 从对象创建 xml

c# - 返回只读并发列表

.net - 使用 XmlNamespaceManager 检索所有 namespace 的列表

java - 验证一个巨大的 XML 文件

javascript - 将变量与 xmlDoc.getElementsByTagName 一起使用