XML - заголовок содержит недопустимый символ - PullRequest
2 голосов
/ 20 июня 2011

Я пытаюсь использовать веб-сервис для получения текущей погоды для мест в Нидерландах.

        public void GetWeather()
    {
        net.webservice.GlobalWeather.GlobalWeather GlobalWeatherService = new net.webservice.GlobalWeather.GlobalWeather();
        string SoapResult = GlobalWeatherService.GetWeather(Location, "Netherlands");

        XmlDocument XmlDoc = new XmlDocument();
        XmlDoc.Load(SoapResult);
        XmlNodeList XmlForecast = XmlDoc.GetElementsByTagName("CurrentWeather");
    }

Веб-служба отправляет обратно XML-файл в виде строки

    <?xml version="1.0" encoding="utf-16"?>
<CurrentWeather> 
<Location>Amsterdam Airport Schiphol, Netherlands (EHAM) 52-18N 004-46E -2M</Location>
<Time>Jun 20, 2011 - 06:25 AM EDT / 2011.06.20 1025 UTC</Time> 
<Wind> from the SW (220 degrees) at 9 MPH (8 KT):0</Wind> 
<Visibility> greater than 7 mile(s):0</Visibility> 
<SkyConditions> partly cloudy</SkyConditions> 
<Temperature> 62 F (17 C)</Temperature> 
<DewPoint> 51 F (11 C)</DewPoint> 
<RelativeHumidity> 67%</RelativeHumidity> 
<Pressure> 29.88 in. Hg (1012 hPa)</Pressure> 
<Status>Success</Status> 
</CurrentWeather>

Но когда я пытаюсь загрузить результат в XmlDocument, я получаю ArguementException (недопустимые символы в пути) в XmlDoc.Load (SoapResult);

Что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 20 июня 2011

XmlDocument.Load (), загружает документ XML с указанного URL-адреса для файла, содержащего документ XML, для загрузки. URL-адрес может быть локальным файлом или URL-адресом HTTP (веб-адресом).

Создает ArgumentException, если имя файла является строкой нулевой длины, содержит только пробел или содержит один или несколько недопустимых символов.

Вместо этого используйте LoadXml ().

1 голос
/ 20 июня 2011

XmlDoc.Load принимает путь к файлу в качестве входного параметра, а не фактическую строку

может быть, вам нужно загрузить это GlobalWeatherService.GetWeather(Location, "Netherlands")

Как Филбурт предлагает использовать XmlDoc.LoadXml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...