Пространство имен XML для атрибутов - PullRequest
2 голосов
/ 29 июня 2010

Вопрос: у меня есть элемент xml + атрибуты, которые должны быть в пространстве имен. Я устанавливаю элемент + все атрибуты в пространство имен oai и получаю:

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

но XML, который мне нужно сгенерировать, должен выглядеть так:

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

Почему он удаляет пространство имен oai в атрибутах после того, как я установил пространство имен в элементе xml? Ну, я понимаю, почему, но как мне остановить это поведение, так как оно мне нужно в противном случае?

Это класс сериализации, который я использую:

<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 Ответ

6 голосов
/ 29 июня 2010

Попробуйте изменить свои атрибуты следующим образом:

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