1 回答

TA貢獻1869條經驗 獲得超4個贊
目前,您只是在傾倒所有DOMElement內容。此代碼使用 XPath 挑選出您想要的位并將它們放入一個數組中。
每個 XPath 從作為上下文使用的當前元素開始,并用于descendant::確保它獲取元素內的數據。也使用evaluate()as this 可以返回字符串值...
$domDocument = new DOMDocument();
$domDocument->loadXML($string);
$xp = new DOMXPath($domDocument);
$selos = array();
$selos_r = $domDocument->getElementsByTagName("itens");
foreach($selos_r as $selos_rs){
$status = $xp->evaluate('string(descendant::status/status)', $selos_rs);
foreach($selos_rs->getElementsByTagName("seloRecebimento") as $s) {
$codigo = $xp->evaluate('string(descendant::codigo)', $s);
$numeroSerie = $xp->evaluate('string(descendant::numeroSerie)', $s);
$validador = $xp->evaluate('string(descendant::validador)', $s);
$selos[] = [$status, $codigo, $numeroSerie, $validador];
}
}
print_r($selos);
- 1 回答
- 0 關注
- 118 瀏覽
添加回答
舉報