[英]How to get specific values on an xml using php?
我正在使用 html 和 php 創建一個簡單的 Web 應用程序,該應用程序讀取用戶在網頁上提供的 XML 文件,然后在其上打印一些值內容。
這些文件通過 POST 發送到服務器,然后由 php 腳本讀取。
這是我的 xml 測試文件的片段:
<cfdi:Impuestos totalImpuestosTrasladados="72.07">
<cfdi:Traslados>
<cfdi:Traslado importe="50.00" impuesto="IEPS" tasa="16.00"/>
<cfdi:Traslado importe="22.07" impuesto="IVA" tasa="16.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
這是我在 php 上編寫的代碼:
<?php
foreach ($_FILES['archivos']['name'] as $f => $name) {
$tempPath = $_FILES["archivos"]["tmp_name"][$f];
//Load xml file directly on the temp path
$xml = simplexml_load_file($tempPath, null, true);
$namespaces = $xml->getDocNamespaces();
//Creating and loading DOM object
$dom = new DOMDocument('1.0','utf-8');
$dom->load($tempPath);
//Getting IVAs' values
foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Impuestos//cfdi:Traslados//cfdi:Traslado') as $impuestos){
$IVA = $impuestos['importe'];
echo("IVA = ".$IVA."<br>");
}
}
?>
那打印:
IVA = 50.00
IVA = 22.07
在這種情況下,我只想打印 IVA 的值,但它也需要 IEPS 的值,因為 IEPS 與 IVA 位於同一路徑上。 這些值僅在文件的這一部分,我不知道是否有辦法將它們分開。
我只想選擇 IVA 的值。 你能幫我嗎?:(
完整的 XML 文件是: 這里
嘗試:
foreach ($xml->xpath("//cfdi:Comprobante//cfdi:Impuestos//cfdi:Traslados//cfdi:Traslado[@impuesto='IVA']") as $impuestos){
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.