我不太确定如何做到这一点,但我需要生成一个excel文件,如下所示
<abc: Declarant>
<Type>Test</Type>
<ReferenceNo>TESTREF</ReferenceNo>
<Provider>Me</Provider>
</abc: Declarant>
请注意命名空间仅在更高级别上作为前缀。无论使用或不使用名称空间前缀,我都没有问题。但似乎无法使用它。
继承序列化之前我所拥有的东西
XmlSerializer x = new XmlSerializer(t.GetType());
System.IO.StreamWriter file = new System.IO.StreamWriter(
path);
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("abc", "http://www.iwebcms.com");
x.Serialize(file, t,ns);
和声明如下
[XmlElement(ElementName =“Declarant”,Namespace =“http://www.iwebcms.com”)] 公开声明声明{get;组; }
[Serializable()]
public class Declarant
{
[XmlElement(ElementName = "Type")]
public string Type { get; set; }
[XmlElement(ElementName = "ReferenceNo")]
public string ReferenceNo { get; set; }
[XmlElement(ElementName = "Provider")]
public string Provider { get; set; }
}
非常感谢任何帮助:(
由于
答案 0 :(得分:0)
您似乎正在使用两个不同的命名空间,在一个位置将其定义为http://www.mysite,另一个位置定义为http://www.iwebcms.com。确保您在任何地方使用正确的命名空间。
答案 1 :(得分:0)
我最后只是将文件作为原始文本循环并替换了我需要的命名空间 - 讨厌但是让我走了......