Я разработал схему xml для анализа входящего XML-документа. Место получения получает XML-документы из 2-х каналов, один из них имеет орфографический значок в документе «Roookie» вместо «Rookie». Есть ли способ, чтобы мой существующий xsd проанализировал этот документ?Узлы в документе XML
ответ
Вам нужно будет заменить элементы в документе или изменить xsd для работы с новым форматом документа.
Просто измените свою схему, чтобы принять выбор между двумя узлами (Rookie или Roookie) вместо простого узла с именем Rookie. Оба узла имеют один и тот же тип. Конечно, если Roo (o) kie имеет сложное содержимое, вам нужно объявить сложный тип для этого содержимого, чтобы избежать дублирования всей структуры этих двух элементов.
Я объявил еще один элемент как «Roookie» в схемы. Существует специальная функция, которая проверяет входные данные обоих узлов и возвращает тот, у которого есть значение, так как из них всегда будет присутствовать в документе ... это будет работать для меня – Developer 2008-11-19 22:18:58
Вы могли бы препроцессировать неправильный файл XML, как с помощью этого простого XSL таблицы стилей:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
<xsl:template match="Roookie">
<Rookie>
<xsl:apply-templates select="@*|node()" />
</Rookie>
</xsl:template>
<xsl:template match="@*|node()" name="defaultRule">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
онил ответ здесь, чтобы изменить плохое сообщение. Xsd является контрактом и должен соблюдаться посредством отправки систем. Если у вас нет такого контроля над подающими системами, я бы предложил сделать вторую схему с новым именем и учесть ее орфографическую ошибку. Я начну изменять ваш контракт/xsd для каждой ошибки в сообщении, вы увеличите сложность и уменьшите ремонтопригодность.
- 1. Объединить узлы XML в документе
- 2. Невозможно выбрать узлы в документе XML
- 3. Как удалить повторяющиеся узлы в документе XML в C#?
- 4. Переименовать узлы из списка имен в этом же документе XML
- 5. Как подсчитать дочерние узлы для конкретного узла в документе XML?
- 6. Получает узлы, содержащие поиск фрагмента в документе
- 7. Шифрование узлов в XML-документе в Python
- 8. Ошибка в документе XML
- 9. Сериализация в документе Xml
- 10. Как выбрать все текстовые узлы в документе?
- 11. Получить узлы в документе html содержит слово
- 12. Расщепление узлы XML
- 13. Дублирующие узлы в XML
- 14. Выберите узлы в XML
- 15. найти XML-узел по внутреннему тексту в XML-документе
- 16. XPath в документе XML с пространством имен
- 17. Сохранение Xml в документе C#
- 18. В документе XML есть ошибка
- 19. Ошибка в документе XML (2,2)
- 20. Откат изменений в документе XML
- 21. Создать элемент в документе xml
- 22. Настройка атрибутов в документе XML
- 23. Странный символ в документе XML
- 24. вызов схемы XML в документе
- 25. Ошибка в XML-документе (2,13)
- 26. Пустая строка в документе XML
- 27. незаконный символ в документе xml
- 28. Выделите теги в XML-документе?
- 29. Создание массива в XML-документе
- 30. Удалить дубликаты в документе Xml
Метод выбора Сергея - это то, что я собирался опубликовать сам. Любая предварительная обработка представленных документов обычно запрашивает проблемы. Я бы предложил вернуться к этому, потому что ваша схема определяет ваш интерфейс приложений, и там, где это возможно, вы должны требовать, чтобы люди соответствовали ему. – 2008-11-19 21:36:19
@David Hall - я объяснил это моему менеджеру, но мне сказали не «беспокоиться» о клиенте с такими незначительными изменениями и «иметь дело с ним» :-) – Developer 2008-11-19 22:17:16