Hej! Du kan skapa en egen schema resolver som ärver från System.Xml.XmlUrlResolverDTD
Jag har en hel hög mad XML filer jag skall läsa igenom via ett program.
Jag har problem att läsa dom efter som xml filerna hänvisar till en DTD via en url, vi har en kraftig brandvägg så det kan ju vara där det går åt skogen.
Jag provade att ladda ner DTD lokalt på maskinen och ändrade sökvägen i xml filen och då var det inga problem att få det att fungera.
Efter som det är många xml filer och det kommer nya hela tiden så jag vill inte gå in och ändra detta i varje fil.
Finns det något sätt vid inläsningen av xml filerna att hänvisa till min lokal DTD istället för den som finns i xml filen?
Jag har provat ett antal saker Bl.a.
XmlReaderSettings booksSettings = new XmlReaderSettings();
booksSettings.Schemas.Add(@"c:\", "min.dtd");
booksSettings.ValidationType = ValidationType.DTD;
booksSettings.ProhibitDtd = false;
XmlReader books = XmlReader.Create("min.xml", booksSettings);
while (reader.Read()) { }
Detta fungerar inte heller.
/JolofSv: DTD
Du ska överrida public override Uri ResolveUri(Uri baseUri, String relativeUri)
exempel: http://techrepublic.com.com/html/tr/sidebars/5080856-0.html
artikel: http://articles.techrepublic.com.com/5100-22_11-5080856.html#