Csharp/C#教程:如何从xml字典序列化中正确删除xmln:xsi和xmlns:xsd分享


如何从xml字典序列化中正确删除xmln:xsi和xmlns:xsd

问题:我使用的是可序列化的字典类
https://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspx
,序列化字典。
它适用于下面的示例类。

 _ Public Class ccl  _ Public xx As String = ""  _ Public yy As String = "" ' _ 'Public ww As New SerializableDictionary(Of String, String) End Class 

但它增加了一个,

 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance AND xmlns:xsd="https://www.w3.org/2001/XMLSchema? 

到标签

现在我通过将字典类更改为来修复它

  Dim ns As System.Xml.Serialization.XmlSerializerNamespaces = New System.Xml.Serialization.XmlSerializerNamespaces() 'Add an empty namespace and empty value ns.Add("", "") If True Then valueSerializer.Serialize(writer, value, ns) Else valueSerializer.Serialize(writer, value) End If 

删除这些属性。

但这也意味着如果我指定它们就不会写它们。 如何使用属性将这两个空命名空间添加到类中?

我改成了

  

但这似乎不起作用。

这是我用来序列化到我的对象的代码o

上述就是C#学习教程:如何从xml字典序列化中正确删除xmln:xsi和xmlns:xsd分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 XmlSerializerNamespaces XSN = new XmlSerializerNamespaces(); XSN.Add("", ""); XmlWriterSettings XWS = new XmlWriterSettings(); XWS.OmitXmlDeclaration = true; StringBuilder XmlStr = new StringBuilder(); XmlSerializer x = new XmlSerializer(o.GetType()); x.Serialize(XmlTextWriter.Create(XmlStr, XWS), o, XSN); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1008956.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐