XSDファイルとサンプルXMLファイルが提供され、XMLファイルをURLに投稿するように依頼されました。
サンプルXMLファイル
<?xml version="1.0"?>
<pingRequest>
<elt></elt>
...
</pingRequest>
私はSOAPとRESTに精通していますが、純粋なXMLファイルを直接投稿したことはありません。これが私がこれまでに得たものです。
1)XSDファイルからC#クラスを生成します
xsd.exe Test.xsd /c
2)XmlSerializerを使用してC#クラスからXMLにシリアル化する
public string SerializeObject(object obj, Type type)
{
string xml;
var xs = new XmlSerializer(type);
using (var ms = new MemoryStream())
{
xs.Serialize(ms, obj, null);
ms.Position = 0;
using (var sr = new StreamReader(memoryStream))
{
xml = sr.ReadToEnd();
}
}
return xml;
}
または、LINQ to XMLを使用してXMLファイルを生成する必要がありますか?
3)WebClientを使用してXMLをURLに投稿する
var client = new WebClient();
var uri = new Uri("http://www.site.com/");
string responseXML = client.UploadString(uri, requestXML);
私は正しい方向に進んでいますか?そうでない場合は、正しい方向を教えていただけますか?前もって感謝します。