Я использую VB. NET для десериализации файла XML, полная информация о моих попытках сделать это находится в этом вопросе . У меня возникла проблема при разборе этого тега в XML:
<re_nokanji/>
Он появляется сам по себе, в тегах <r_ele>
и </r_ele>
. Вот пример:
<r_ele>
<reb>アジア</reb>
<re_nokanji/>
<re_pri>gai1</re_pri>
</r_ele>
Вот определение класса:
<Serializable()>
Public Class r_ele
<XmlElement("reb")>
Public Property reb As String
<XmlElement("re_pri")>
Public Property re_pri As List(Of String)
<XmlElement("re_inf")>
Public Property re_inf As List(Of String)
<XmlElement("re_restr")>
Public Property re_restr As List(Of String)
<XmlElement("re_nokanji")>
Public Property re_nokanji As String
End Class
Все остальные данные десериализованы просто отлично, поэтому я не думаю, что метод является проблемой, но просто на случай, если он здесь:
Dim dict As JMdict
Sub Deserialise()
Dim settings As XmlReaderSettings = New XmlReaderSettings
settings.DtdProcessing = DtdProcessing.Parse
Dim xmlPath As String = Path.Combine(Application.StartupPath, jmdictpath)
Dim serialiser As New XmlSerializer(GetType(JMdict))
Using rdr As Xml.XmlReader = Xml.XmlReader.Create(xmlPath, settings)
dict = CType(serialiser.Deserialize(rdr), JMdict)
End Using
End Sub
Я использовал отдельный метод для проверки объекта dict
, и ни один из объектов класса внутри него не имеет значения для поля re_nokanji
, так что это определенно не забирается. Есть идеи, почему это может быть?