私はサイトのAPIにリクエストをするために別の場所からこの関数を呼び出し、メソッドの結果に応じて、引数としてAPIの方法をとる関数api_request
を得た、とXMLTextReader
xml解析エラー処理、またはXMLTextReaderのカーソルを元に戻す方法を教えてください。
Shared Function api_request(method As String) As XmlTextReader
request_text = method & ".xml"
url = "https://api.vk.com/method/" & request_text & "&access_token=" & token
Return New XmlTextReader(url)
End Function
を返してきましたが、非常に異なっ解析されます。ご覧の通り、私はコードElseIf s.Name = "error" Then error_handler(s, "user.get")
を持って
Dim s As Xml.XmlReader = api_request("users.get")
While s.Read
If s.NodeType = XmlNodeType.Element Then
If s.Name = "user" Then
curr_user=s.ReadElementContentAsString
ElseIf s.Name = "error" Then
error_handler(s, "user.get")
End If
End If
End While
:
だから、それぞれの方法で私はこのような何かを持っています。
<error>
<error_code>4</error_code>
<error_msg>Incorrect signature</error_msg>
</error>
これはerror_handler
サブで解析され、エラーに応じて、次のアクションが選択されます。エラーが発生した場合、サーバは常にこのような何かを返すためです。
このコードは動作しますが、私はそのElseIf s.Name = "error"
ごと時間のようなエラーが発生した場合、すべてのメソッドがapi_request
関数を呼び出しても、確認する必要があります。 Readerを返す前にapi_request関数のエラーをチェックすることは可能ですか?問題は、私がそこでxmlを読むことを開始し、エラーがない場合、私は何とかReaderを最初に置くことができないということです。
おかげで、それは私が探していたまさにです –