Нужно вытащить 2 узла и объединить информацию в LibXML

У меня есть проблема, с которой я мог бы помочь. Во-первых, будь нежным. Я новичок в Perl и LibXML.

Я анализировал документ и помещал элементы в массив, который затем записывался в столбец таблицы. Во время тестирования было обнаружено, что некоторые узлы имеют более одного дочернего узла с одинаковым именем. Мне нужно объединить текст из каждого из этих дочерних узлов в один элемент массива.

(Очень упрощенный) формат xml:


    
    
    
    
    
         "Some text I want to pull"

Но иногда это так:


    
    
    
    
    
         "Some text I want to pull"
         "Some more text I want to pull and join to the first"

Я могу вытащить весь текст из "чек-содержание», но если их несколько, это сбрасывает строку данных в электронной таблице. Я должен быть в состоянии сказать что-то вроде:

Если есть 2 или болеечек-контент» объединить данные толчком в массив. Если нет, просто вставьте данные в массив.

Любая помощь будет принята с благодарностью.

Что я делал, так это

my @Check_Content;
my $Check_Content;
my $parser = XML::LibXML->new() or die $!;
my $doc1 = $parser->parse_file($filename1);
my $xc1 = XML::LibXML::XPathContext->new($doc1->documentElement() );
$xc1->registerNs(x => 'http://checklists.nist.gov/xccdf/1.1');

for my $Check_Content ($xc1->findnodes('//x:Group/x:Rule/x:check/x:check-content')) { 
     push (@Check_Content, $Check_Content->to_literal);
 }

Ответы на вопрос(1)

Ваш ответ на вопрос