C#では、XMLファイルを返すWebサービスを呼び出そうとしています。StreamreaderのデータをXmlDocumentに変換するには?
WebサービスにHttpWebRequestを作成し、その出力をStreamReaderに格納することができます。しかし、どのようにしてこのデータをXMLDocumentに変換できますか?
C#では、XMLファイルを返すWebサービスを呼び出そうとしています。StreamreaderのデータをXmlDocumentに変換するには?
WebサービスにHttpWebRequestを作成し、その出力をStreamReaderに格納することができます。しかし、どのようにしてこのデータをXMLDocumentに変換できますか?
使用XmlDocument.Load()
- 私はXmlReader.Create
の自動エンコード検出にで現金にXmlReader
を受け入れるオーバーロードを使用しています:
XmlDocument document = new XmlDocument();
using(Stream stream = request.GetResponse().GetResponseStream()) {
using(XmlReader reader = XmlReader.Create(stream)) {
document.Load(stream);
}
}
これは、応答ストリームのエンコーディングがXMLエンコーディングと同じであることを前提としています。必ずしもそうである必要はありません。 –
良い点ハンス更新。 –
XmlReaderを作成している間も、オリジナルの 'ストリーム'オブジェクトをdocument.Load()に渡しているだけです。 –
System.Xml.Linq.XDocument.Load(streamreader)を使用します。
あなたがにStringWriterで受信した出力またはちょうどstringand保存する必要がありますXmlDocument.Load(string)を使用してロードします。
なぜそうですか? –
彼はそれを保存したいので:)。実際には私は上記のJeffのソリューションに行くだろう。 – florin
これはSOAPベースのWebサービスですか?次に、HttpWebRequestを使用すべきではありません。 「サービス参照の追加」を使用して、作成されたプロキシクラスの「メソッド」を呼び出してください。XMLは関係ありません。 –
そのRESTfulサービス – Troyes22