从子元素中删除XML名称空间
本文关键字:空间 XML 删除 元素 | 更新日期: 2023-09-27 18:17:57
我不太确定如何做到这一点,但我需要生成一个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; }
}
任何帮助都将是非常感激的:(
谢谢
您似乎正在使用两个不同的名称空间,在一个地方定义为http://www.mysite,在另一个地方定义为http://www.iwebcms.com。
我最终只是作为原始文本遍历文件并替换我需要的名称空间-讨厌但让我去....