gpt4 book ai didi

.net - 如何在不获取 xmlns ="..."的情况下将对象序列化为 XML?

转载 作者:行者123 更新时间:2023-12-03 04:48:34 25 4
gpt4 key购买 nike

有没有一种方法可以让我序列化 .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);

关于.net - 如何在不获取 xmlns ="..."的情况下将对象序列化为 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com