XDocument не может переварить URL в заголовке, если встречается дважды - PullRequest
2 голосов
/ 23 марта 2010

Я использую xml-ответ от правительственного шлюза, который дважды содержит URL-адрес в своем корневом узле (сначала это xsi: schemaLocation = "http://www.govtalk.gov.uk/CM/envelope", а также xmlns =" ​​http://www.govtalk.gov.uk/CM/envelope")

XDocument будет анализировать это только в том случае, еслиЯ вытаскиваю второй (xmlns) из узла.

Есть ли какой-нибудь способ, которым я могу подготовить XDocument для переваривания этого повторного URL без какой-либо манипуляции с входящим xml?

1 Ответ

1 голос
/ 23 марта 2010

Проблема не в том, что есть повторяющийся URL, а в том, что XML, который вы получаете от шлюза, неправильно использует атрибут xsi: schemaLocation.Атрибут должен содержать пары разделенных пробелами URI, где каждая пара дает процессору XML подсказку о том, где найти схему XML, соответствующую пространству имен.См. http://www.w3.org/TR/xmlschema-0/#schemaLocation для объяснения schemaLocation.

Если вам нужно что-то вырезать, сделайте его атрибутом xsi: schemaLocation.

Если вы проверяете полученный XML поЗатем вам нужно будет предпринять шаги, чтобы указать местоположение документа схемы, например, заполнив XmlSchemaSet и передав его в метод расширения Validate .

...