Tag: 格式良好

在C#中以编程方式检查XML文件格式良好的最快方法是什么?

我有大批手动更新的XHTML文件。 在更新的审查阶段,我想以编程方式检查文件的格式。 我目前正在使用XmlReader ,但平均CPU所需的时间比我预期的要长得多。 XHTML文件的大小范围为4KB到40KB,每个文件的validation需要几秒钟。 检查是必不可少的,但我希望尽可能缩短时间,因为在将文件读入下一个流程步骤时执行检查。 有没有更快的方法来进行简单的XML格式检查? 也许使用外部XML库? 我可以确认使用XmlReadervalidation“常规”基于XML的内容是非常快速的,并且正如所建议的那样,问题似乎与每次validation文件时读取XHTML DTD的事实有关。 请注意,除了DTD之外,还会下载相应的.ent文件(xhtml-lat1.ent,xhtml-symbol.ent,xhtml-special.ent)。 由于完全忽略DTD并不是XHTML的真正选择,因为良好的格式与允许的HTML实体密切相关(例如,当我们忽略DTD时,会立即引入validation错误)。 通过使用建议的自定义XmlResolver ,结合DTD和实体文件的本地(嵌入)副本,解决了该问题。 一旦我清理了代码,我会在这里发布解决方案

在没有try / catch的情况下检查格式良好的XML?

有没有人知道如何检查字符串是否包含格式良好的XML而不使用try / catch块中的XmlDocument.LoadXml() ? 我有输入可能是也可能不是XML,我希望代码能够识别输入可能不是XML而不依赖于try / catch,速度和非特殊情况不应该提高的一般原则例外。 我目前有代码执行此操作; private bool IsValidXML(string value) { try { // Check we actually have a value if (string.IsNullOrEmpty(value) == false) { // Try to load the value into a document XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(value); // If we managed with no exception then this is valid XML! return […]