Получить/Установить innerHTML в Perl HTML :: TreeBuilder? Я мог бы получить innerHTML, но не знаю, как установить.Получить/Установить innerHTML в Perl HTML :: TreeBuilder?
Спасибо заранее.
Получить/Установить innerHTML в Perl HTML :: TreeBuilder? Я мог бы получить innerHTML, но не знаю, как установить.Получить/Установить innerHTML в Perl HTML :: TreeBuilder?
Спасибо заранее.
Я не уверен, если этот подход будет удовлетворять вас, но вы можете использовать метод html($html) из pQuery:
Этот метод сродни известной JavaScript/DOM функции innerHTML.
При вызове без аргументов, это будет вернуть внутреннюю HTML строку первый DOM элемента в объекте pQuery .
Если вызывается с HTML строка аргумента, это установит внутренний HTML всех DOM-элементов в объекте pQuery .
Насколько почему pQuery может удовлетворить вас, цитата из СОД:
pQuery :: DOM примерно попытка дублировать DOM в JavaScript в Perl. Это подклассы HTML :: TreeBuilder/HTML :: Элемент Есть несколько отличий, которые должны быть . Подробнее см. Документацию 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