0
Я новичок в Perl XML: DOM XML: XPath (необходимо использовать только эти.) Как вставить значения в следующий файл xml: Нужно вставить 1010, 1011 Перед 1020 в BadgeID (Использование только Perl DOM & XPath) Пробовал следующее:Perl XML DOM XPATH: Вставка значений с использованием Perl
#!/usr/bin/perl
use XML::DOM;
use XML::XPath;
my $mainFile = "badgelist.xml";
$xpmain = eval { XML::XPath->new(filename => $mainFile); };
my $root = $main->getDocumentElement();
my @list = $root->getElementsByTagName('Name');
foreach my $key (@list) {
if($key->getFirstChild->getData eq 'Home') {
$root->insertBefore($newparam, $genericMap);
# Insert 1005, 1006 and 1007 before 1008
}
}
<Badge-Lists>
<List>
<Name>Home</Name>
<Badges>
<BadgeID>1001</BadgeID>
<BadgeID>1008</BadgeID>
<BadgeID>1020</BadgeID>
</Badges>
</List>
<List>
<Name>Office</Name>
<Badges>
<BadgeID>5001</BadgeID>
<BadgeID>5012</BadgeID>
<BadgeID>5040</BadgeID>
</Badges>
</List>
</Badge-Lists>
Perl имена модулей имеют два двоеточия '::', а не один. Вы начали работать над этим и застряли, или вы не знаете, с чего начать? – simbabque
Что вы пробовали? Какие у вас проблемы? Пожалуйста, покажите нам какой-нибудь код. Почему, по-вашему, вы должны использовать эти конкретные модули? –
Ваш XML недопустим. У него нет закрывающего тега. – simbabque