如何使用DTD字符串验证XML字符串?

时间:2019-06-03 16:15:30

标签: c# xml validation dtd

我给了两个字符串。一个包含XML文件的内容,另一个包含DTD文件的内容。无论如何,是否可以使用DTD字符串来验证C#中的XML字符串?

我已经研究过使用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是否已通过验证。

0 个答案:

没有答案