Вы можете использовать XPath и удалить через XPath узел.
Использовать DOM и XPath для удаления узла из файла Sitemap
PHP SimpleXML - удалить узел xpath
здесь, в Stackoverflow, много сообщений. Возможно, сначала вы должны искать здесь.
Это прекрасно работает;
System.Uri uri = new System.Uri("http://farm4.static.flickr.com/2232/2232/someimage.jpg");
Кстати; Я заметил, что вы неправильно набрали выражение new uri (..., с uri в нижнем регистре. Это не ваша проблема, не так ли? Потому что это должно быть "new Uri".
objimage = new MemoryStream(wc.DownloadData(new Uri(photo.MediumUrl)));
b ) Я пробовал Uri myuri = new uri (string) - ошибки, как указано выше.
Это обычный способ создания URI из строки ... Я не понимаю, почему это не сработает, если строка является допустимым URI
Если я правильно понимаю ваш код, то
wc.DownloadDataAsync(new Uri(photo.MediumUrl));
должно работать.
var yourUri = new UriBuilder(yourString).Uri;
Итак, ваш пример:
wc.DownloadDataAsync(new UriBuilder(photo.MediumUrl).Uri);
objimage = new MemoryStream(wc.Result);
Возможно, вам потребуется поставить отметку, чтобы увидеть, что операция завершена.
Надеюсь, что это поможет,
Дэн
Хорошо, поэтому я думаю, что если другие подтвердили, что ваш 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);
}
Также может помочь в вашей отладке.