Запрещенные символы по ошибке пути при парсинге XML в C#

Нет это Невозможно, необходимо быть В Windows к обновление Windows, тот же способ, которым необходимо быть в Ubuntu к обновление Ubuntu. Если, конечно, Вы не находитесь в Virtualmachine, куда эти 2 системы работают в то же время .

32
задан Sathyajith Bhat 3 September 2009 в 17:07
поделиться

4 ответа

Причина в том, что вы используете конструктор XmlTextReader, который принимает путь к файлу в качестве параметра, но вместо этого вы передаете содержимое XML.

Попробуйте использовать следующий код

XmlTextReader reader = new XmlTextReader(new StringReader(strURL));
71
ответ дан 27 November 2019 в 20:00
поделиться

Конструктор XmlTextReader (string) ожидает путь к файлу, а не фактические данные XML.

Вы можете создать XML читалка прямо из потока. Рекомендуемый способ сделать это - использовать метод XmlReader.Create :

XmlReader reader = XmlReader.Create(objStream);
4
ответ дан 27 November 2019 в 20:00
поделиться

Конструктор XmlTextReader принимает строку, указывающую на URL-адрес, где хранится XML-файл. Вы передаете ему сам XML, который, конечно, является недопустимым путем. Попробуйте вместо этого:

using (var client = new WebClient())
{
    var xml = client.DownloadString("http://api.tr.im/api/trim_url.xml?url=" + HttpUtility.UrlEncode(txtURL.Text));
    using (var strReader = new StringReader(xml))
    using (var reader = XmlReader.Create(strReader))
    {

    }
}
13
ответ дан 27 November 2019 в 20:00
поделиться

Вы должны распечатать или иным образом отобразить strUrl . Как только вы действительно сможете увидеть путь, который вы передаете программе чтения тестов, станет очевидным, в чем заключается ошибка пути.

Кроме того, просто взглянув на код,

1
ответ дан 27 November 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: