Самый простой способ получить xml - это использовать URL-адрес в качестве аргумента метода XDocument.Load ().
var xml = XDocument.Load("http:...");
Этот метод извлекает данные из удаленного URL-адреса, анализирует их с помощью XmlReader и создает объект XDocument. Затем вы можете использовать LINQ to XML для запроса или преобразования данных.
К сожалению, это не будет работать для запросов POST, DELETE, PUT http
Edit:
Это зависит от вашего сервиса и от того, какие операции вы можете с ним сделать:
Использование XDocument.Load()
является самым простым решением. Если это простой ресурс через Интернет, без аутентификации, не требуются HTTp-заголовки и он поддерживает только запросы GET, чем этот путь. Вы можете написать метод, который берет ваши параметры и добавляет их в URL
public SomeClass GetSomeEntity(string id)
{
var xml = XDocument.Load("http://mywebservice.com/ws/" + id);
// transform xml into an instance of actual type
}
Используя WebClient, вы можете получить больший контроль над HttpRequest. Вы можете установить базовые учетные данные для аутентификации, добавить другие заголовки HTTP, данные формы POST и т. Д. У вас также есть методы «асинхронной».
using (var client = new WebClient())
{
var xml = XDocument.Load(client.OpenRead("http://yoururl.com");
// process xml
}
Вы можете думать о «HttpWebRequest» как о низкоуровневой реализации веб-запроса.