簡體   English   中英

如何使用DOMXPath從php中的xml文件獲取XML元素屬性的值

[英]How to get value of XML Element Attribute from xml file in php with DOMXPath

這是簡單的XML文件,我需要獲取unitCode的值,並且我正在使用DOMXPath對象來獲取值。

<cbc:ConsumerUnitQuantity unitCode="BX">
    80.000
</cbc:ConsumerUnitQuantity>

我努力了

$unitCode = $xpath->query('//cbc:ConsumerUnitQuantity [@unitCode=""]')->item(0);

您缺少名稱空間。 XML元素具有名稱空間前綴,但是您沒有在Xpath對象上注冊一個。 檢查您的文檔是否有xmlns:cbc屬性。

$xml = <<<'XML'
<cbc:ConsumerUnitQuantity xmlns:cbc="your-namespace" unitCode="BX">
    80.000
</cbc:ConsumerUnitQuantity>
XML;

$dom = new DOMDocument();
$dom->loadXml($xml);

$xpath = new DOMXpath($dom);
$xpath->registerNamespace('ns-cbc', 'your-namespace');

var_dump(
  $xpath->evaluate('string(//ns-cbc:ConsumerUnitQuantity)', NULL, FALSE)
);

DOMXpath::query()DOMXpath::evaluate()可以直接返回標量值。

暫無
暫無

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

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