Я могу использовать механизм подключения xml для одного файла со всеми узлами, но как только я использую несколько файлов с одинаковой структурой, я получаю этот необычный ответ, где все строки имеют одинаковые значения:
filename | uid
222.xml | 222
223.xml | 222
Я воспроизвел проблему с очень простой структурой.
Это базовый файл XML (222. xml):
<data>
<uid>222</uid>
</data>
И другой (223 . xml):
<data>
<uid>223</uid>
</data>
И вот команда SQL, которую я использую:
CREATE TABLE `data` (
filename VARCHAR(100) NOT NULL special=FILEID,
uid char(10) field_format="uid"
)
engine=CONNECT
table_type=XML
file_name='data/*.xml'
multiple=1
option_list="rownode=data";
У меня есть внешний источник XML, который обновляется каждую неделю, и я не не может контролировать его структуру. Вот почему механизм подключения является наиболее подходящим решением для меня.
Я следовал этой документации: https://mariadb.com/kb/en/connect-xml-table-type/ и этому учебнику: https://mariadb.org/crunching-xml-files-with-mariadb/ без удачи.