2016-05-26 2 views
0

Я производящий XML из VB.NET и ASMXДобавление атрибута в XML-узел из структуры класса VB.NET

я определить структуру, а затем заполнить его в своем коде, это затем возвращается через XML пользователя. Есть ли способ разместить атрибуты на узле?

Structure Output 
Dim First as string 
Dim Second as string 
End Structure 

<WebMethod()> _ 
    Public Function ProduceOutput(byval Test as string) as Output 
Dim output as new Output 
output.First="Hello" 
output.Second="World" 

ProduceOutput=output 

End Function 

Это производит

<Output> 
<First>Hello</First> 
<Second>World</Second> 
</Output> 

Как я могу производить

<Output> 
    <First this="##valueoftest##">Hello</First> 
    <Second>World</Second> 
    </Output> 

ответ

0

Создать собственный класс для First собственности. Определите XmlAttribute для свойства, которое вы хотите использовать в качестве атрибута.
XmlText будет сериализовать в качестве значения родительского элемента

<XmlType> 
Public Class FirstType 

    <XmlAttribute> 
    Public Property This As String 

    <XmlText> 
    Public Property Value As String 

End Class 

Затем измените Output.First к типу этого класса

Public Class Output 
    Public Property First As FirstType 
End Class 

Результат:

<Output> 
    <First This="ThisValue">FirstValue</First> 
    <Second>SecondValue</Second> 
</Output> 

же логика работает Structure слишком

Смежные вопросы