Импорт XML в Excel создает несколько строк для одного элемента - PullRequest
0 голосов
/ 17 мая 2019

Я делаю экспорт документов с 'Opentext Content Server'. Это оставляет мне довольно большой XML-файл, полный информации о документах, которые я экспортирую. Я хочу внести некоторые изменения в метаданные, прежде чем импортировать документы на другой сервер, поэтому я хочу импортировать файл XML в Excel для лучшего обзора.

Ниже вы можете увидеть пример одного из «узлов», которые я получаю в моем XML-файле. Как видите, один узел может иметь несколько элементов, некоторые из которых имеют одинаковые имена.

Вот здесь и возникает проблема. Когда я пытаюсь импортировать этот XML в Excel, «Power Query Editor» не любит несколько элементов с одинаковым именем и отображает их как «таблица». Вот изображение в качестве примера:

img

Когда я пытаюсь развернуть таблицу, она создаст MULTIPLE (дубликат) строк для одного и того же узла. Это не то, что мне нужно. Лучшим решением было бы создать несколько дополнительных столбцов, поэтому я по-прежнему получаю по одной строке для каждого узла.

Я попытался изменить XML-файл с помощью регулярного выражения, чтобы каждый элемент был уникальным, но он становится слишком сложным и не будет работать постоянно, поскольку мой XML-файл может немного отличаться.

Элементы, которые могут встречаться несколько раз: acl, category и attribute. это также видно из кода ниже.

<node action="create" rootPathID="1" type="document">
        <acl group="EANDIS_LL_APP_HTR" permissions="1100000000"></acl>
        <acl group="EANDIS_LL_APP_AG" permissions="1100000000"></acl>
        <acl group="EANDIS_LL_APP_OPLFICHE" permissions="1100000000"></acl>
        <acl group="Eandis_LL_APP_Captatie" permissions="1100000000"></acl>
        <acl group="EANDIS_LL_AUTEURS_RECHTSPRAAK" permissions="1100000000"></acl>
        <acl group="EANDIS_LL_APP_NETONTWIKKELING" permissions="1100000000"></acl>
        <acl group="EANDIS_LL_APP_DOSSIERBEHEER" permissions="1100000000"></acl>
        <acl group="eandis_ll_system" permissions="1100000000"></acl>
        <acl permissions="1110111110" user="SDW365"></acl>
        <acl permissions="1110111110" user="NWW694"></acl>
        <acl basegroup="eandis_ll_administrators" permissions="1111111111"></acl>
        <acl baseowner="Admin" permissions="1111111111"></acl>
        <acl action="remove" standard="world"></acl>
        <category name="Livelink Categories:Documenten ICT">
            <attribute name="Naam Applicatie"><![CDATA[Test Applicatie]]></attribute>
            <attribute name="Documenttype"><![CDATA[Contact Info]]></attribute>
            <attribute name="Technologie"><![CDATA[VBA]]></attribute>
            <attribute name="Service"><![CDATA[Geen]]></attribute>
        </category>
        <category name="Livelink Categories:Factuur">
            <attribute name="Naam"><![CDATA[Test Applicatie]]></attribute>
            <attribute name="Prijs"><![CDATA[1000]]></attribute>
        </category>
        <created><![CDATA[20190418132014]]></created>
        <createdby><![CDATA[Admin]]></createdby>
        <description clear="true" language="en"></description>
        <file><![CDATA[F:\OpenText\ObjectExporter\destination\EFS_Migration1_20190516123147\201905161239041950167656\0000009997]]></file>
        <filename><![CDATA[Doc_BRLRXKTG.pdf]]></filename>
        <filetype><![CDATA[PDF]]></filetype>
        <location><![CDATA[Enterprise:Applicaties:MigrationTest:Folder_A:Folder_AB]]></location>
        <mime><![CDATA[application/pdf]]></mime>
        <modified><![CDATA[20190515105639]]></modified>
        <title language="en"><![CDATA[Doc_BRLRXKTG.pdf]]></title>

Я надеюсь, что мое объяснение было достаточно ясным, и я ценю любую помощь. Заранее спасибо! :)

...