PostRequestParseXml

Imports System.IO

Imports System.Web

Imports System.Text

Imports System.Xml

Public Class frmMain

Private Function getNormailzedString(ByVal s As String) As String

Dim requestUrl As String = "http://localhost:8080/hello/outxml.jsp"

Dim postData As String = "s=" + System.Uri.EscapeUriString(s)

Dim postDataBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(postData)

'HttpWebRequestの作成

Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(requestUrl), System.Net.HttpWebRequest)

request.Method = "POST"

request.ContentType = "application/x-www-form-urlencoded"

request.ContentLength = postDataBytes.Length

'データをPOST送信するためのStreamを取得

Dim reqStream As System.IO.Stream = request.GetRequestStream()

'送信するデータを書き込む

reqStream.Write(postDataBytes, 0, postDataBytes.Length)

'送信完了

reqStream.Close()

'受信開始

Dim response As System.Net.HttpWebResponse = Nothing

Dim responseStreamReader As StreamReader

Dim output As StringBuilder = New StringBuilder()

Try

response = CType(request.GetResponse(), System.Net.HttpWebResponse)

'応答ステータスコードを表示する

Debug.Print("statuscode=" & response.StatusCode)

'StreamReaderを取得

responseStreamReader = New StreamReader(response.GetResponseStream())

Dim xmlString As String

'すべて読み込む

xmlString = responseStreamReader.ReadToEnd()

Debug.Print(xmlString)

Using xmlreader As XmlReader = xmlreader.Create(New StringReader(xmlString))

xmlreader.ReadToFollowing("test")

' xmlreader.MoveToFirstAttribute()

' Dim value As String = xmlreader.Value

xmlreader.MoveToContent()

Dim value As String = xmlreader.ReadElementContentAsString

output.AppendLine(value)

Debug.Print(value)

End Using

Catch webException As System.Net.WebException

' エラー処理

' ...

' エラー処理

Finally

'閉じる

If Not (response Is Nothing) Then

response.Close()

End If

End Try

getNormailzedString = output.ToString

End Function

Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click

Dim s1 As String

s1 = txtBox1.Text

txtBox2.Text = getNormailzedString(s1)

End Sub

End Class