在Perl中獲取/設置innerHTML HTML :: TreeBuilder?我可以得到innerHTML,但不知道如何設置。在Perl中獲取/設置innerHTML HTML :: TreeBuilder?
在此先感謝。
在Perl中獲取/設置innerHTML HTML :: TreeBuilder?我可以得到innerHTML,但不知道如何設置。在Perl中獲取/設置innerHTML HTML :: TreeBuilder?
在此先感謝。
我不知道,如果這種做法將滿足你,但你可以使用html($html)方法從pQuery:
這種方法類似於著名的 的JavaScript/DOM功能的innerHTML。
如果不帶參數調用,這將 返回 第一DOM元素的內部HTML字符串中的pQuery 對象。
如果調用HTML字符串 參數,這將設置在pQuery 對象中所有DOM元素的內HTML 。
至於爲什麼pQuery可滿足你,從POD引用:
pQuery :: DOM大致企圖 複製JavaScript的Perl中DOM。它 小類 HTML :: TreeBuilder/HTML :: Element so 還有一些不同之處是 意識到。有關詳細信息,請參閱pQuery :: DOM 文檔。
我會用pQuery,但是這將工作
#!/usr/bin/perl --
use strict;
use warnings;
use HTML::TreeBuilder;
my $html = <<'__HTML__';
<div id="target">old <B>i</B><I>n</I>ner</div>
__HTML__
{
my $t = HTML::TreeBuilder->new_from_content($html);
print $t->as_HTML('<>&',' ',{}), "\n";
my $target = $t->look_down(id => 'target');
$target->delete_content;
$target->push_content(
HTML::TreeBuilder->new_from_content(
"<B>NEW</B>"
)->look_down(qw!_tag body!)->detach_content
);
print $t->as_HTML('<>&',' ',{}), "\n";
}
__END__
<html>
<head>
</head>
<body>
<div id="target">old <b>i</b><i>n</i>ner</div>
</body>
</html>
<html>
<head>
</head>
<body>
<div id="target"><b>NEW</b></div>
</body>
</html>
是的,我RTFM
運行完美,甚至連回_parent。謝謝 – iavian 2010-06-07 01:20:51