属性的XML命名空间

时间:2010-06-29 09:34:50

标签: c# .net xml vb.net xml-serialization

问题:我有一个xml元素+属性,它们都需要在命名空间中。 我将元素+所有属性设置到命名空间oai中,我得到:

<oai:room building="AB" rmName="001">

但我需要生成的XML应如下所示:

 <oai:room oai:building="AB" oai:rmName="001">

为什么在xml元素中设置命名空间后,它会删除属性中的oai命名空间?好吧,我明白了为什么,但是我怎么能阻止这种行为,因为我需要它呢?

这是我使用的序列化类:

<System.Xml.Serialization.XmlElement(ElementName:="room", Namespace:="http://www.example.com")> _
    Public Rooms As New System.Collections.Generic.List(Of cRoom)


Public Class cRoom
    <System.Xml.Serialization.XmlAttribute("building", Namespace:="http://www.example.com")> _
    Public buildingAs String = ""


    <System.Xml.Serialization.XmlAttribute("rmName", Namespace:="http://www.example.com")> _
    Public rmNameAs String = ""


End Class

(OAI:= “www.example.com”)

1 个答案:

答案 0 :(得分:6)

尝试更改您的属性:

<System.Xml.Serialization.XmlAttribute("rmName",
    Namespace:="http://www.example.com",
    Form := XmlSchemaForm.Qualified)>