0
私は解析する必要がある多くのHTML文書があります。私はクラスmailer
と二div
要素の後に4つのspan
の要素を取得する必要があり少し良くHTML :: TreeBuilder :: XPathでHTMLを解析する
<div id="filerDiv">
<div class="mailer">Mailing Address
<span class="mailerAddress">65 MARKET STREET, SUITE 1207,</span>
<span class="mailerAddress">CAMANA BAY, P.O. BOX 31110</span>
<span class="mailerAddress">GRAND CAYMAN E9 KY1-1205</span>
</div>
<div class="mailer">Business Address
<span class="mailerAddress">65 MARKET STREET, SUITE 1207,</span>
<span class="mailerAddress">CAMANA BAY, P.O. BOX 31110</span>
<span class="mailerAddress">GRAND CAYMAN E9 KY1-1205</span>
<span class="mailerAddress">345 943 4573</span>
</div>
<div class="companyInfo">
<span class="companyName">GREENLIGHT CAPITAL RE, LTD. (Filer)
<acronym title="Central Index Key">CIK</acronym>: <a href="/cgi-bin/browse-edgar?CIK=0001385613&action=getcompany">0001385613 (see all company filings)</a></span>
<p class="identInfo"><acronym title="Internal Revenue Service Number">IRS No.</acronym>: <strong>000000000</strong><br />Type: <strong>10-Q</strong> | Act: <strong>34</strong> | File No.: <a href="/cgi-bin/browse-edgar?filenum=001-33493&action=getcompany"><strong>001-33493</strong></a> | Film No.: <strong>161612131</strong><br /><acronym title="Standard Industrial Code">SIC</acronym>: <b><a href="/cgi-bin/browse-edgar?action=getcompany&SIC=6331&owner=include">6331</a></b> Fire, Marine & Casualty Insurance<br />Assistant Director 1</p>
</div>
</div>
を自分自身を説明できるように、ここではデータの例です。ここで私が持っているコードは、これまで
my $root = HTML::TreeBuilder::XPath->new;
$root->parse($content);
my @Baddress = $root->findvalue('//div[@id="filerDiv"]/div[@class="mailer"][2]/span/text()');
あるしかし、私はプリントアウトしたときに、この
65 MARKET STREET, SUITE 1207,CAMANA BAY, P.O. BOX 31110 GRAND CAYMAN E9 KY1-1205 345 943 4573
すべてがに割り当てられているようspan
テキストの@Baddress
すべての内容は、1行に表示されます単一配列要素。私はそれぞれspan
をそれぞれの配列要素に割り当てて、個別に解析できるようにしたいと思います。
私はあなたがまだ不必要に複雑なXPath式を持っていて、あなたのコードが実質的に改善されると思います – Borodin
あなたは精巧にできますか? –