XMLTextWriterからXMLDocument
-
10-07-2019 - |
質問
XMLRequestがWebRequestのストリームに書き込みを持っています。すべてが正常に機能します:
Dim wr As WebRequest = WebRequest.Create("https://wwwcie.ups.com/ups.app/xml/ShipAccept")
With wr
.Method = "POST"
.ContentType = "application/x-www-form-urlencoded"
End With
Dim requestStream As Stream = wr.GetRequestStream
Using requestStream
Dim x As New XmlTextWriter(requestStream, Encoding.UTF8)
Using x
With x
.WriteStartDocument()
'XML
.WriteStartElement("ShipmentAcceptRequest")
'ShipmentAcceptRequest
.WriteStartElement("Request")
'Request
.WriteElementString("RequestAction", sar.Request.RequestAction)
'/Request
.WriteEndElement()
.WriteElementString("ShipmentDigest", sar.ShipmentDigest)
'/ShipmentAcceptRequest
.WriteEndElement()
'/XML
.WriteEndDocument()
.Flush()
End With
End Using
End Using
XMLDocument型として記述されているこのXMLをインターセプトするにはどうすればよいですか?ストリームからそれをひっかけようとしましたが、「ストリームは読み取りをサポートしていません」と表示されました。例外(私を驚かせなかった)。
ありがとう
解決
ストリームをインターセプトできるとは思いません。定義により次のとおりです:
ストリームを生成するための、高速で、キャッシュされない、フォワードのみの方法を提供するライター
キャッシュされていないおよび前方のみが問題になります。
だから...逆の順序でそれを行うのを妨げる何かがありますか?
XMLをXmlDocumentに書き込み、終了したらXmlDocument.WriteToを呼び出してXMLをXmlWriterに出力します(この場合、XmlTextWriterは要求ストリームに出力します)。
所属していません StackOverflow