[英]How to index XML elements in PHP?
我對 PHP 和 XML 很敏感,所以如果我的問題看起來很愚蠢,請耐心等待。
我想知道如何索引 XML 元素,以便我可以訪問它們。 我打算將它們放入一個數組中。 但是,我不知道如何獲取返回的元素數。
以下是代碼:
exer.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<actionstars>
<name>Jean Claude Van Damme</name>
<name>Scott Adkins</name>
<name>Michael Jai White</name>
<name>Dolph Lundgren</name>
<name>Tom Cruise</name>
<name>Michael Worth</name>
</actionstars>
index.php
<?php
$dom = new DomDocument();
$dom->load("exer.xml");
$names = $dom->getElementsByTagName("name");
echo count($names);
foreach($names as $name) {
print $name->textContent . "<br />";
}
?>
當我做echo count($names);
它返回1
,這顯然不是元素的數量。 請幫忙。
查看getElementsByTagName
的返回值,它將是一個DOMNodeList 。
同樣對於您的問題,您可以執行以下操作:
$names = array();
foreach ($dom->getElementsByTagName("name") as $nameNode) {
$names[] = $nameNode->nodeValue;
}
您不必實際檢查getElementsByTagName
的返回值,因為它總是一個 DOMNodeList。 這樣,您可以直接在 foreach 循環中使用它,而無需分配不需要的變量。
您必須檢查的是循環后$names
的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.