Не удается преобразовать System.String в System.Uri

Вы можете использовать XPath и удалить через XPath узел.

Использовать DOM и XPath для удаления узла из файла Sitemap

PHP SimpleXML - удалить узел xpath

здесь, в Stackoverflow, много сообщений. Возможно, сначала вы должны искать здесь.

13
задан BoltClock 21 January 2014 в 10:14
поделиться

5 ответов

Это прекрасно работает;

System.Uri uri = new System.Uri("http://farm4.static.flickr.com/2232/2232/someimage.jpg");

Кстати; Я заметил, что вы неправильно набрали выражение new uri (..., с uri в нижнем регистре. Это не ваша проблема, не так ли? Потому что это должно быть "new Uri".

29
ответ дан 1 December 2019 в 17:59
поделиться
objimage = new MemoryStream(wc.DownloadData(new Uri(photo.MediumUrl)));

b ) Я пробовал Uri myuri = new uri (string) - ошибки, как указано выше.

Это обычный способ создания URI из строки ... Я не понимаю, почему это не сработает, если строка является допустимым URI

5
ответ дан 1 December 2019 в 17:59
поделиться

Если я правильно понимаю ваш код, то

wc.DownloadDataAsync(new Uri(photo.MediumUrl));

должно работать.

0
ответ дан 1 December 2019 в 17:59
поделиться
var yourUri = new UriBuilder(yourString).Uri;

Итак, ваш пример:

wc.DownloadDataAsync(new UriBuilder(photo.MediumUrl).Uri);
objimage = new MemoryStream(wc.Result);

Возможно, вам потребуется поставить отметку, чтобы увидеть, что операция завершена.

Надеюсь, что это поможет,

Дэн

4
ответ дан 1 December 2019 в 17:59
поделиться

Хорошо, поэтому я думаю, что если другие подтвердили, что ваш URI действителен в их коде, и он компилируется и т. Д., И вы также упоминаете, что он генерируется во время выполнения - возможно, UriString, который вы генерируете во время выполнения, недействителен, а не чего вы ожидаете?

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

string uriString = "your_UriString_here";

if (Uri.IsWellFormedUriString(uriString, UriKind.Absolute))
{
    Uri uri = new Uri(uriString);
}
else
{
    Logger.WriteEvent("invalid uriString: " + uriString);
}

Также может помочь в вашей отладке.

6
ответ дан 1 December 2019 в 17:59
поделиться
Другие вопросы по тегам:

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