я следующий XML-схемыInvalid XDocument становится подтверждено
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://www.MySchema.net" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="RootElement">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
и следующие XML, сверяются выше схеме:
Случай 1: (исключение схемы)
<?xml version="1.0" encoding="utf-8" ?> <RootElement11 name="Configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.MySchema.net Root" xmlns="http://www.MySchema.net">
</RootElement11>
Случай 2: (Без исключения)
<?xml version="1.0" encoding="utf-8" ?>
<RootElement11 name="Configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.YourSchema.net Root" xmlns="http://www.YourSchema.net">
</RootElement11>
Случай 3: (без исключения)
<RootElement11 name="Configuration">
</RootElement11>
Для случая 1, я получаю ожидаемое исключение, но случай 2 и 3 случая проверяются без исключения «Элемент„http://www.MySchema.net:RootElement1“не объявлен.».
Я хотел знать, есть ли возможность генерировать исключение, когда xml-файлы с ложными пространствами имен или без пространств имен проверяются с использованием метода XDocument.Validate.
Я нашел info, которые используют XmlReader с настройками, чтобы выбросить этот тип исключения. Я вижу две возможности: 1) Вернитесь к XmlReader из XDocument, 2) Подтвердите использование XmlReader и используйте XDocument для выполнения запросов LINQ. Но возможно ли это сделать без XmlReader.
Я бы создал метод расширения для XDocument, и в этом методе для проверки можно использовать XmlReader над XDocument.CreateReader. Так что в основном 2-й метод. – Evk
Возможный дубликат [XDocument.Validate всегда успешно] (http://stackoverflow.com/questions/17232575/xdocument-validate-is-always-successful) –