【问题标题】:XmlReader Parsing ErrorXmlReader 解析错误
【发布时间】:2013-01-05 20:43:55
【问题描述】:

我生成的XML如下:

<helpers>
         <person>
                 <latitude>17.123</latitude>
                 <longitude>83.322</longitude>
         </person>
         <person>
                 <latitude>17.123</latitude>
                 <longitude>83.322</longitude>
         </person>
</helpers>

我在 POST 到网页后收到 XML 作为响应。我的VB.net代码如下:

Using reader = XmlReader.Create(New StringReader(e.Result.ToString()))
        While reader.Read()
            If reader.NodeType = XmlNodeType.Element And reader.Name = "person" Then
                ParseAuthor(reader)
            End If
        End While
End Using

Sub ParseAuthor(ByVal MyReader As XmlReader)
    Dim lat, lng As String
    MyReader.ReadToFollowing("latitude")
    lat = MyReader.ReadElementContentAsString()
    MyReader.ReadToFollowing("longitude")
    lng = MyReader.ReadElementContentAsString()
    mapCenter = New GeoCoordinate(CType(lat, Double), CType(lng, Double))
    Dim position = PositionOrigin.Center
    imgLayer.AddChild(imgPinMembers, mapCenter, position)
End Sub

我收到一个错误

MyReader.ReadToFollowing("latitude") 

它说

节点类型 None 不支持 ReadElementContentAsString 方法。

有人能指出错误吗?请帮忙。谢谢。

【问题讨论】:

    标签: vb.net silverlight xml-parsing xmlreader


    【解决方案1】:

    我刚刚找到了正确的方法:

    MyReader.ReadToDescendant("latitude")
    lat = MyReader.ReadElementContentAsString()
    MyReader.MoveToContent()
    lng = MyReader.ReadElementContentAsString()
    mapCenter = New GeoCoordinate(CType(lat, Double), CType(lng, Double))
    Dim position = PositionOrigin.Center
    imgLayer.AddChild(imgPinMembers(i), mapCenter, position)
    MyReader.MoveToElement()
    

    这执行没有错误。

    【讨论】:

      猜你喜欢
      • 2013-06-04
      • 2011-10-15
      • 1970-01-01
      • 2014-03-20
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 2016-12-11
      相关资源
      最近更新 更多