Как получить ярлык пространства имен в моем документе XML - PullRequest
1 голос
/ 13 марта 2012

Я хотел бы создать документ xml вне класса, используя функцию xmlserializer.Это работает довольно хорошо, но одну проблему я не могу решить.

Public Class Request
End Class

Я хочу получить вывод

<test:Request
xmlns:test="http://test.de"> 

Мне удалось получить строку

<Request 
xmlns:test="http://test.de">

, но это не то, что я хотел.

Так может ли кто-нибудь помочь мне, как добавить этот ярлык <: test перед моим XML-документом? </p>

Заранее спасибо radi5

1 Ответ

0 голосов
/ 13 марта 2012

Вам необходимо добавить XmlSerializerNamespaces при сериализации вашего класса и добавить атрибут сериализации XmlRoot (ловушка: атрибут XmlType не будет работать)

<XmlRoot(Namespace := "http://test.de")> _
Public Class Request
End Class


Dim r As New Request()
Dim s As New XmlSerializer(GetType(Request))
Dim t As New StreamWriter(filename)
Dim ns As New XmlSerializerNamespaces()

ns.Add("test", "http://test.de")

s.Serialize(t, r, ns)
...