XML содержит ссылку на схему.Как я могу получить C # для проверки XML по схеме?
<Specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schemas.company.com/Specification.xsd">
<FirstElement>...</FirstElement>
</Specification>
Я изменил URL расположения схемы для этого поста, поэтому этот пример на самом деле не будет работать.Я пробовал следующее:
var schemaErrors = new List<string>();
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Ignore,
ValidationFlags = XmlSchemaValidationFlags.ProcessSchemaLocation | XmlSchemaValidationFlags.ReportValidationWarnings,
ValidationType = ValidationType.Schema
};
settings.ValidationEventHandler += (o, e) => { schemaErrors.Add(e.Message); };
using (var xmlReader = XmlReader.Create(xmlText, settings))
{
XDocument.Load(xmlReader);
var actual = schemaErrors;
Assert.That(actual, Is.Empty);
}
, где xmlText - это XML сверху.
Я получаю следующие ошибки:
"Невозможно загрузить схему для пространства имен'' - Основное соединение было закрыто: при отправке произошла непредвиденная ошибка. "«Не удалось найти информацию о схеме для элемента« Спецификация ».»
Я искал ответы в Интернете, но кажется, что все используют локальную схему.