我有以下从Web服务发送给我的xml。我正在使用.NET来反序列化它,但我得到一个例外,说它的格式错误。 There is an error in XML document (2, 2)
现在,如果我理解正确的话,它并不喜欢它找到第一个<error>
节点。
<?xml version="1.0" encoding="UTF-8"?>
<messages xmlns="http://www.w3.org/1999/xml">
<error>error text</error>
<message>message text</message>
</messages>
我的代码看起来像这样,数据是上面XML的String
版本:
Dim resp As cResponseMessage
Dim sr As New StringReader(data)
Dim xs As New XmlReaderSettings()
Dim xd As New XmlSerializer(GetType(cResponseMessage))
resp = xd.Deserialize(XmlTextReader.Create(sr, xs))
和cResponseMessage
只是一个具有XMLRoot
属性和2个属性XMLElement
属性的类。没什么好看的,但它不想工作。
任何帮助都会很棒。
答案 0 :(得分:1)
这门课适合我:
<XmlRoot(Namespace:="http://www.w3.org/1999/xml", ElementName:="messages")> _
Public Class cResponseMessage
<XmlElement> _
Public Property [error] As String
Get
Set(ByVal value As String)
End Property
<XmlElement> _
Public Property message As String
Get
Set(ByVal value As String)
End Property
End Class
答案 1 :(得分:0)
XML文档(2,2)中有一个错误在我看来就像是&lt; messages&gt;中的m。
也许您没有在cResponseMessage中正确设置XmlRoot?