2010-01-28 7 views

답변

5

나는 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); 
} 
+2

나는 당신의 처리기가 단지 예일 뿐이라는 것을 알고 있지만, 당신이 모른다면, 당신은 $ art-> suffix ('YOU YOU YOU')를 사용할 수도있다; 아, 그리고 XML :: Twig-> new (...)가 더 이상 사용되지 않는 새로운 XML :: Twig보다 선호됩니다. 그러나 나는 nitpick을 좋아한다 : -) – mirod

+2

나는 nitpick을 좋아한다. 나는이 두 가지 점을 모르고 있었다. 나는 생성자 호출을 수정 하겠지만 접미어를 남겨 두어 ... OP는 TIMTOWTDI를 봅니다. 감사. – toolic

+0

TIMTOWTD ?? OP ?? – fixxxer

관련 문제