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