Так что я сейчас работаю над приложением для чтения электронных книг, и я просто просматриваю кучу обычных XML-файлов, просто отлично с System.Xml и XmlDocument:503 (Server Unavailable) WebException при загрузке локального файла XHTML
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Path.Combine(Directory.GetCurrentDirectory(), "META-INF/container.xml"));
XmlNodeList xnl = xmldoc.GetElementsByTagName("rootfile");
Однако теперь я пытаюсь открыть файлы XHTML, содержащие фактический текст книги, и они являются файлами XHTML. Теперь я не знаю разницу между этими двумя, но я получаю следующее сообщение об ошибке с этим кодом (в том же документе, используя один и тот же XmlDocument и переменную XmlNodeList)
xmldoc.Load(Path.Combine(Directory.GetCurrentDirectory(), "OEBPS/part1.xhtml"));
«WebException было необработанное: Удаленный сервер возвратил ошибку: (503) Сервер недоступен «
Это локальный документ, поэтому я не понимаю, почему он дает эту ошибку? Любая помощь будет принята с благодарностью. :)
У меня есть полный исходный код здесь, если это помогает: http://drop.io/epubtest
(я знаю, что метод ePubConstructor.ParseDocument()
ужасно грязный, я просто пытаюсь получить его работу в тот момент, прежде чем я разделить это в классы)
Спасибо! Я также нашел другое предложение из вашего кода, что я могу сделать только «xmldoc.XmlResolver = null;», и это тоже работает. Я не уверен, что предпочтительнее другого, но ваш код был очень полезен! (плюс вы дали мне подсказку использования (var ...), которая поможет мне очистить мой код совсем немного) – kcoppock