Как проанализировать XML, который может иметь от 0 до N количество узлов, используя Perl
218
Shon Cleneeto
Как обрабатывать XML, который может иметь один или несколько вхождений узла в файле в Perl.
В текущем решении, представленном ниже,
foreach $FileContainerRec (@{$XmlFile->}) { $FileContainer = 'C'.$FileContainerCt; foreach $FileRec (@{$FileContainerRec->}) { $File = $FileContainer.'file'.$FileCt; $OutFileName = $FileRec->; $ActiveIndicator = $FileRec->; $AuditFlag = $FileRec->; $Delimiter = $FileRec->; @FileDesc=(); @FileDesc=($OutFileName,$ActiveIndicator,$AuditFlag,$Delimiter); $FileList{$File}=[@FileDesc]; $FileCt++; } $FileContainerCt++; $FileCt=1; }
Пример ip xml:
<Document> <FileContainer> <File> ...... </File> <File> ...... </File> </FileContainer> <FileContainer> <File> ...... </File> <File> ...... </File> </FileContainer> <Document>
Выход и май могут варьироваться от 0 до n раз.
Фрагмент кода Perl выбрасывает ошибку как «Не ARRAY Referance», когда у нас есть один «FileContainer» или «File» Nodes.
Любая причина, почему вы не используете одну из многих доступных библиотек разбора XML?
mtak 6 лет назад
1
Для близкого избирателя вопросы Perl находятся в теме на [su].
DavidPostill 6 лет назад
0
Вам следует избегать `XML :: Simple`. [Документация для самого модуля говорит об этом] (https://metacpan.org/pod/XML::Simple): * Использование этого модуля в новом коде не рекомендуется. Доступны другие модули, которые обеспечивают более простые и согласованные интерфейсы. В частности, настоятельно рекомендуется `XML :: LibXML`, а` XML :: Twig` - отличная альтернатива. * Если вы отредактируете свой вопрос, чтобы показать некоторые пригодные для использования данные XML, я напишу пример кода.
Borodin 6 лет назад
0
@mtak: * «Есть ли причина, по которой вы не используете одну из множества доступных библиотек разбора XML?» * Мне кажется, что OP использует `XML :: Simple`.
Borodin 6 лет назад
0
Мы не сможем вам помочь без описания проблемы и некоторых достоверных XML-данных. *** Если вы отредактируете свой вопрос, чтобы показать некоторые пригодные для использования данные XML, я напишу пример кода ***
Borodin 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
8
Отображение XML в браузере Chrome
-
1
Скрипт Perl, работающий от имени root, не может выполнять действия root
-
1
ksh эквивалент perl $! причина ошибки
-
-
4
Как я могу просмотреть неформатированный RSS XML в браузере?
-
5
Grep инструмент для XML
-
8
Автоматический анализ текста цитирования в академических ссылках
-
6
Проблема с документом: неверный байт 3 из 3-байтовой последовательности UTF-8
-
4
Как вы управляете модулями perl в системе Debian?
-
3
Как сохранить документ XML в Mac OS X?
-
2
Инструмент для заполнения XML-файла на основе XSD