我該如何計算所有XML元素?我想查找使用<product>
標籤的次數。例如:計算XML標記
<root>
<product>
</product>
<product>
</product>
<product>
</product>
</root>
我知道有一個叫做count的simplexml函數,但我不完全確定這將如何工作。如果有人可以花時間發佈例子並解釋計數函數,我將不勝感激。先謝謝你。
我該如何計算所有XML元素?我想查找使用<product>
標籤的次數。例如:計算XML標記
<root>
<product>
</product>
<product>
</product>
<product>
</product>
</root>
我知道有一個叫做count的simplexml函數,但我不完全確定這將如何工作。如果有人可以花時間發佈例子並解釋計數函數,我將不勝感激。先謝謝你。
這是想到的一種方式。
// Get content
$html = file_get_contents('http://www.example.com');
$dom = new DOMDocument();
@$dom->loadHTML($html);
// grab all
$xpath = new DOMXPath($dom);
$root = $xpath->evaluate("/root/products");
echo $root->length;
怎麼樣在simplexml的? – McStuffins
您可以執行'$ productCount = $ xpath-> evaluate(「count(/ root/products)」);'並直接獲取該值。這與SimpleXML不兼容。 – ThW
作爲替代方案,你也可以使用SimpleXMLElement。
例如:
$source = <<<SOURCE
<root>
<product>
</product>
<product>
</product>
<product>
</product>
</root>
SOURCE;
$xml = simplexml_load_string($source);
$elements = $xml->xpath('/root/product');
echo count($elements);
會導致:
加載文件如何?我可以使用'simplexml_load_file'? – McStuffins
是的,您可以使用[simplexml_load_file](http://php.net/manual/en/function.simplexml-load-file.php),例如'$ xml = simplexml_load_file('test.xml');' –
好吧。謝謝。我很感激。 – McStuffins
'$ XML->產品 - >計數();' – michi