1

我生成的 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 方法。

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

4

1 回答 1

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-01-05T21:40:54.130 回答