簡體   English   中英

DOMDocument XPath查詢以獲取類名和標記值

[英]DOMDocument XPath Query to get class name and tag values

我有這個示例代碼,它將提取每個標記的值。 除此之外,獲取該標簽的類名稱..

<?php
$doc = new DOMDocument;
$doc->loadxml( <<< eox
<tr class="calendar_row" data-eventid="42023">
    <td class="date"/>
    <td class="time">All Day</td>
    <td class="currency">CAD</td>
    <td class="impact">
        <span title="Non-Economic" class="holiday"/>
    </td>
    <td class="event">
        <span>Bank Holiday</span>
    </td>
    <td class="detail">
        <a class="calendar_detail level1" data-level="1" title="Open Detail"/>
    </td>
    <td class="actual"/>
    <td class="forecast"/>
    <td class="previous"/>
    <td class="graph"/>
</tr>
eox
);
$xpath = new DOMXPath($doc);

foreach( $xpath->query('//tr[@data-eventid="42023"]/td[@class]') as $n ) {
    echo $n->nodeName.'-'.$n->nodeValue."<br />";
}
?>

使用上面的代碼片段,我想要的就是獲取這些值,即使某些標簽格式不正確(我正在廢棄網絡源代碼)。我如何在DOMDocument XPath查詢中執行此操作。 我遇到了麻煩,因為要獲取的值是:

td-
td-All Day
td-CAD
td- 
td-Bank Holiday 
td- 
td-
td-
td-
td-

代替:

date-
time-All Day
currency-CAD
impact- 
event-Bank Holiday 
detail- 
actual-
forecast-
previous-
graph-

而不是做$n->nodeName你應該這樣做$n->getAttribute('class')

演示: http//codepad.viper-7.com/ktpnv2

echo $n->getAttribute("class") . '-' . $n->nodeValue . "<br />";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM