XML 子元素上的命名空间
XML namespace on child element
我有以下 class 结构:
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 属性来做到这一点?
任何合规的 XML 处理者都不会关心您的两种情况之间的差异,您也不应该关心。这就像属性的排序。在 XML 水平上差异是微不足道的。您必须下降到 XML 下方的文本级别才能检测或控制这种差异,但在 XML 级别您最好忽略它,因为它无关紧要。
我有以下 class 结构:
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 属性来做到这一点?
任何合规的 XML 处理者都不会关心您的两种情况之间的差异,您也不应该关心。这就像属性的排序。在 XML 水平上差异是微不足道的。您必须下降到 XML 下方的文本级别才能检测或控制这种差异,但在 XML 级别您最好忽略它,因为它无关紧要。