簡體   English   中英

如何索引 PHP 中的 XML 元素?

[英]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.

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