Дорогие подписчики!
Дорогие подписчики! → Продолжаем рассказывать о поддержке XML-методов в Digital Q.DataBase. Сегодня — о методе nodes(). nodes() — развертывание XML в реляционные строки → Метод nodes() позволяет преобразовать XML-документ в набор строк, где каждая строка соответствует одному узлу. Это особенно полезно, когда в XML-документе содержится несколько однотипных элементов (например, список сотрудников или товаров). Пример использования: -- Развертывание списка сотрудников в строки SELECT id AS parent_id, node.value('(name)[1]', 'varchar(100)') AS name, node.value('(salary)[1]', 'int') AS salary FROM departments_xml CROSS APPLY xml_data.nodes('/department/employees/employee') AS ref(node); -- Развертывание с фильтрацией SELECT node.value('(@id)[1]', 'int') AS product_id, node.value('(price)[1]', 'decimal(10,2)') AS price FROM products_xml CROSS APPLY xml_data.nodes('/catalog/product[price > 1000]') AS ref(node); Основные возможности: · Преобразование XML-документа в реляционное представление; · Работа с CROSS APPLY и OUTER APPLY; · Поддержка XPath-выражений для отбора узлов; · Комбинирование с другими XML-методами.