属性的XML命名空间

Ste*_*ger 2 .net c# xml vb.net xml-serialization

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

<oai:room building="AB" rmName="001">
Run Code Online (Sandbox Code Playgroud)

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

 <oai:room oai:building="AB" oai:rmName="001">
Run Code Online (Sandbox Code Playgroud)

为什么在我在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
Run Code Online (Sandbox Code Playgroud)

(OAI:= "www.example.com")

Dav*_*d M 6

尝试更改您的属性:

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