2014-02-19 73 views
0

我正在嘗試使用XPath與PHP,我無法讓它只是返回一個值。有人能讓我知道我做錯了什麼嗎?PHP使用XPath不返回值

結果我得到的是:

Array ([0] => SimpleXMLElement Object ()) 

但W3Schools的表示,結果應該是:

Array 
(
[0] => SimpleXMLElement Object 
    (
    [0] => Jani 
) 
) 

下面是我使用的是什麼:

XML:

<?xml version="1.0" encoding="UTF-8"?> 
    <note> 
    <to>Tove</to> 
    <from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don't forget me this weekend!</body> 
    </note> 

PHP:

<?php 
    $XMLfile = "test.xml"; 

    $xml = simplexml_load_file($XMLfile); 
    $result = $xml->xpath("from"); 
    print_r($result); 
?> 
+0

如何簡單'echo $ xml-> from'? – Phil

回答

1

沒有人得到它。但我知道你錯過了JaceG。

您期待print_r向您展示'Jani',但var_dump或print_r都不會向您顯示'Jani'。

請在print_r後添加此項以進行測試。

foreach ($result as $le_result) 
     echo $le_result; 

而且會有'Jani'。

var_dump或print_r都不顯示DOM對象上的有用輸出。你必須親自看看它們。

+0

只是爲了闡述爲什麼OP的表達式起作用(因爲我發現它令人驚訝):'simplexml_load_file($ XMLfile)'返回對根元素的引用,而不是文檔本身。 –