我有以下课程结构:
public class Child { ... }
[XmlRoot("parent", Namespace="parentNamespace")]
public class Parent
{
[XmlElement(Namespace="childNamespace")]
public Child Child { get; set; }
}
我尝试使用命名空间序列化它:
namespaces.Add(string.Empty, "parentNamespace");
namespaces.Add("c", "childNamespace");
我在父元素中声明了子命名空间:
<parent xmlns:c="childNamespace" xmlns="parentNamespace">
<c:Child ... />
</parent>
但是我想将子命名空间声明移动到子元素。像这样:
<parent xmlns="parentNamespace">
<c:Child ... xmlns:c="childNamespace">
</parent>
我应该如何设置XML属性呢?
答案 0 :(得分:3)
没有一致的XML处理器会关心你的两种情况之间的区别,你也不应该。这就像属性的排序一样。 XML级别的差异是微不足道的。您必须放到XML下面的文本级别来检测或控制这种差异,但在XML级别,您最好忽略它,因为它无关紧要。