這裏是XML:使用類函數參數作爲xpath的路徑似乎不起作用?
<Routes>
<Route type="source">
<Name>incoming</Name>
<Table><Tablename>incoming</Tablename></Table>
</Route>
<Route type="dest">
<Name>outgoing</Name>
</Route>
</Routes>
我的目標是儘量輸出「進入」從路線/表/表名,而是使用一類具有的功能。
$doc = new SimpleXMLElement('routingConfig.xml', null, true);
class traverseXML
{
function getData($path = "Route", $type, $operation){
global $doc;
if($type == "table"){
$path = $path."[1]/Table/Tablename";
}
if($operation == "value"){
return $doc->xpath($path);
}
}
}
$traverseXML = new traverseXML;
我還以爲這將返回一個值,但它返回一個數組:如果我這樣做,而不是
echo $traverseXML->getData("Route", "table", "value");
//returns: Array
:
print_r($traverseXML->getData("Route", "table", "value"));
//returns: Array ()
爲什麼會返回一個數組,而不是一個值?
謝謝先進。
'[0]'應該是'[1]'(位置被基於1的,而不是從0開始)。另外,你的XML被破壞了,因爲它應該以''結尾。 – salathe
感謝您指出 - 它實際上仍然做同樣的事情。 – Jared
它不會爲我返回一個空數組。 http://viperpad.com/aNgLj7 – salathe