0
Perl의 특정 노드에서 XML 파일에 몇 줄을 추가해야합니다. 따라서 특정 노드를 검색 한 다음 해당 노드를 추가해야합니다. 이 파서를 추천 해 주시겠습니까?특정 노드에 데이터를 추가 할 수있는 Perl XML 파서는 무엇입니까?
Perl의 특정 노드에서 XML 파일에 몇 줄을 추가해야합니다. 따라서 특정 노드를 검색 한 다음 해당 노드를 추가해야합니다. 이 파서를 추천 해 주시겠습니까?특정 노드에 데이터를 추가 할 수있는 Perl XML 파서는 무엇입니까?
나는 XML::Twig을 권장합니다. 특정 이름의 모든 요소 또는 하나의 요소 만 수정할 수 있습니다. 이 튜토리얼을 포함한 훌륭한 문서를 가지고 ... 그리고 모듈 저자는 온 전화 :
을이 "기사"라는 이름의 모든 요소에 텍스트를 추가하는 간단한 예입니다 항상 :
use strict;
use warnings;
use XML::Twig;
my $xmlStr = <<XML;
<foo>
<article>ME ME ME</article>
<article>HE HE</article>
<particle>ME TOO</particle>
</foo>
XML
my $twig= XML::Twig->new(
twig_handlers => { article => \&article }
);
$twig->parse($xmlStr);
$twig->print();
print "\n";
exit;
sub article {
my ($twig, $art) = @_;
my $stuff = $art->text(); # get the text of article
$stuff .= ' YOU YOU YOU';
$art->set_text($stuff);
}
나는 당신의 처리기가 단지 예일 뿐이라는 것을 알고 있지만, 당신이 모른다면, 당신은 $ art-> suffix ('YOU YOU YOU')를 사용할 수도있다; 아, 그리고 XML :: Twig-> new (...)가 더 이상 사용되지 않는 새로운 XML :: Twig보다 선호됩니다. 그러나 나는 nitpick을 좋아한다 : -) – mirod
나는 nitpick을 좋아한다. 나는이 두 가지 점을 모르고 있었다. 나는 생성자 호출을 수정 하겠지만 접미어를 남겨 두어 ... OP는 TIMTOWTDI를 봅니다. 감사. – toolic
TIMTOWTD ?? OP ?? – fixxxer