问题:我有一个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”)

最佳答案

尝试更改属性,以便:

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

07-28 01:53