.net – 如何将对象序列化为XML,而不获取xmlns =“…”?

前端之家收集整理的这篇文章主要介绍了.net – 如何将对象序列化为XML,而不获取xmlns =“…”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一种方法让我在.NET中序列化一个对象,而XML命名空间也不会自动序列化?看来默认.NET认为XSI和XSD命名空间应该包括,但我不想要他们在那里。
啊…永远不会。总是在问题提出后的搜索产生答案。我正在序列化的对象是obj,已经被定义。将一个具有单个空命名空间的XMLSerializerNamespace添加到集合中。

在VB中这样:

Dim xs As New XmlSerializer(GetType(cEmploymentDetail))
Dim ns As New XmlSerializerNamespaces()
ns.Add("","")

Dim settings As New XmlWriterSettings()
settings.OmitXmlDeclaration = True

Using ms As New MemoryStream(),_
    sw As XmlWriter = XmlWriter.Create(ms,settings),_
    sr As New StreamReader(ms)
xs.Serialize(sw,obj,ns)
ms.Position = 0
Console.WriteLine(sr.ReadToEnd())
End Using

在C#中这样:

//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);
原文链接:https://www.f2er.com/xml/294069.html

猜你在找的XML相关文章