【发布时间】:2015-09-22 08:58:24
【问题描述】:
我想在 C# 中将一个类序列化为 XML
我的课程:
[System.SerializableAttribute()]
[XmlRoot(Namespace = "http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader")]
public class StandardBusinessDocument
{
public StandardBusinessDocumentHeader StandardBusinessDocumentHeader { get; set; }
public Package Package { get; set; }
}
[System.SerializableAttribute()]
[XmlRoot(Namespace = "http://www.efatura.gov.tr/package-namespace")]
public class Package
{
public Elements Elements { get; set; }
}
当我将这些类序列化为 XML 时
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add("sh", "http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader");
namespaces.Add("ef", "http://www.efatura.gov.tr/package-namespace");
XmlSerializer xser = new XmlSerializer(typeof(StandardBusinessDocument));
xser.Serialize(soapwriter, new StandardBusinessDocument
{
StandardBusinessDocumentHeader = sbd,
Package = new Package()
{
Elements = elements
}
}, namespaces);
在那之后,我看到了第一个类 (StandardBusinessDocumentHeader) 和具有 sh prefix-namespaces 的节点下。但是 Pakacge 总是显示 sh: prefix 而不是 ef: 但在另一边显示的 pakage 带有 ef: prefix
我只想将 ef: prefix 添加到 Pakage 节点
【问题讨论】:
标签: c# xml serialization namespaces