【发布时间】:2017-04-24 20:21:45
【问题描述】:
我正在尝试反序列化一个看起来像这样的简单 xml
<categories>
<category name="camera">
<tags>
<tag name="6" value="stdy_cam"/>
<tag name="7" value="shaky"/>
</tags>
</category>
<category name="classify">
<tags></tags>
</category>
</categories>
这是我的加载方法 -
Private Sub loadAllCategories()
Dim serializer As XmlSerializer
Using stream As New System.IO.FileStream("C:\temp\tags2.xml", IO.FileMode.Open)
serializer = New XmlSerializer(GetType(List(Of Category)), New XmlRootAttribute("categories"))
Me.Categories = DirectCast(serializer.Deserialize(stream), List(Of Category))
End Using
End Sub
这些是我的课 -
<Serializable()>
Public Class Category
<XmlAttribute("name")>
Public Property Name As String
<XmlArrayItem("tag")>
Public Property Tags As New List(Of Tag)
End Class
<Serializable()>
Public Class Tag
<XmlAttribute("name")>
Public Property Name As String
<XmlAttribute("value")>
Public Property Value As String
End Class
一切似乎都很好,但是当我运行程序时,类别列表总是空的。该程序不会抛出任何错误或异常。当我调试时,它只显示 0 作为类别的计数。我可能做错了什么?
【问题讨论】:
标签: .net xml vb.net serialization xml-parsing