Как проверить строку XML с помощью строки DTD? - PullRequest
0 голосов
/ 03 июня 2019

Мне дали две строки.Один содержит содержимое файла XML, а другой - содержимое файла DTD.Можно ли в любом случае использовать строку DTD для проверки строки XML в C #?

Я рассмотрел использование XMLReader для этого, но, похоже, это позволяет только проверять файлы на вашем компьютере.

Вот что у меня есть на данный момент:

string DTD = req.Query["DTD"];
DTD = DTD ?? data?.DTD;
byte[] DTDBytes = Encoding.ASCII.GetBytes(DTD);
MemoryStream DTDStream = new MemoryStream(DTDBytes);

string XML = req.Query["XML"];
XML = XML ?? data?.XML;
byte[] XMLBytes = Encoding.ASCII.GetBytes(XML);
MemoryStream XMLStream = new MemoryStream(XMLBytes);

XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
settings.DtdProcessing = DtdProcessing.Parse;
settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
settings.IgnoreWhitespace = true;

// Here's where I don't know quite how to proceed
// The code is currently set up for an XmlReader,
// but I'm not sure that's the correct way to go...

Когда я работаю, я должен получить какое-то указание, был ли проверен XML или нет.

...