Я открываю XML-файл, который ссылается на DTD следующим образом:
<?xml version="1.0" encoding="windows-1250"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd">
Вот часть кода C #:
public static XmlDocument FromUri(string uri)
{
XmlDocument xmlDoc;
WebClient webClient = new WebClient();
using (Stream rssStream = webClient.OpenRead(uri))
{
XmlTextReader reader = new XmlTextReader(rssStream);
xmlDoc = new XmlDocument();
xmlDoc.XmlResolver = null;
xmlDoc.Load(reader);
}
return xmlDoc;
}
Когда я пытаюсь загрузить «читатель», я получаю следующую ошибку: Ожидаемая разметка DTD не найдена. Есть ли способ заставить парсер игнорировать элемент Doctype? А может, я могу сделать что-нибудь более эффективное?