0

我编写了一个 php 代码,用于将 XML 文件中的一些数据检索到变量中。

这是 XML 文件:

<Server>
  <Server1>
    <ipaddress>10.3.2.0</ipaddress>
    <rootpassword>abcd</rootpassword>
    <port>22</port>
    <autousername>abcd</autousername>
    <autopassword>abcd</autopassword>
  </Server1>
  <Server1>
    <ipaddress>10.3.2.1</ipaddress>
    <rootpassword>abcd</rootpassword>
    <port>22</port>
    <autousername>abcd</autousername>
    <autopassword>abcd</autopassword>
  </Server1>
  <Server1>
    <ipaddress>10.3.2.2</ipaddress>
    <rootpassword>abcd</rootpassword>
    <port>22</port>
    <autousername>abcd</autousername>
    <autopassword>abcd</autopassword>
  </Server1>
  <Server1>
    <ipaddress>10.3.2.3</ipaddress>
    <rootpassword>abcd</rootpassword>
    <port>22</port>
    <autousername>abcd</autousername>
    <autopassword>abcd</autopassword>
  </Server1>
</Server>

这是PHP代码:

$x = $xmlDoc->getElementsByTagName("ipaddress");

在这里,我想$x按索引值显示内容,例如

echo $x[0]->nodeValue;

我怎么能那样做?

4

3 回答 3

0

演示

$xml = simplexml_load_file($path_to_your_xml_file);
foreach($xml->Server1 as $server) {
  echo $server->ipaddress . '<br>';
}

或者你可以这样做:

echo $xml->Server1[0]->ipaddress;
于 2013-05-17T12:57:03.190 回答
0

我假设您用于DOMDocumentXML 解析。调用时getElementsByTagName,您将收到一个DOMNodeListnot an array

DOMNodeList实现Traversable,因此它可以在foreach循环中使用。

foreach ($x as $item) {
    var_dump($item->nodeValue);
}

如果您只想要特定项目,请使用该item方法。

$x->item(0)->nodeValue;
于 2013-05-17T12:59:41.580 回答
0

您可以ipaddress像下面这样访问。

$xml = simplexml_load_file("yourxml.xml");
$result = $xml->xpath('//Server1');

foreach($result as $item){
    echo "IP Address:".$item->ipaddress
    echo "<br/>";
}
于 2013-05-17T13:04:43.657 回答