這是我的問題。我想創建一個函數,它接受一個包含xpath的外部變量,並且一旦函數運行,我想添加到同一個變量中以創建一個計數器。向變量添加額外的字符串 - PHP
所以我有外面的變量:
$node = $xmlDoc->xpath('//a:Order');
然後,將採取外部變量($node
)一個參數的函數。像這樣:
function loopXML($node) {
i=1; //counter variable
}
現在我想添加一個計數器到$ node,以便它通過所有的「訂單」的孩子。在功能之外,我會使用:
$child = $xmlDoc->xpath('//a:Order['.$i.']/*');
但是在函數內部,我不知道如何連接它。有沒有人有任何想法我可以做到這一點?
編輯: 此外,應該指出的是,我創建已經任意命名空間:
foreach($xmlDoc->getDocNamespaces() as $strPrefix => $strNamespace) {
if(strlen($strPrefix)==0) {
$strPrefix="a"; //Assign an arbitrary namespace prefix.
}
$xmlDoc->registerXPathNamespace($strPrefix,$strNamespace);
}
爲什麼你將'$ node'傳遞給函數?它是如何使用的? – AbraCadaver
該函數的目標是將xml轉換爲csv。 $ node是xml父xml標籤來循環。 $ child是$ node的所有子節點。我不得不這樣做很多,所以我想創建一個函數來減少冗餘,所以我可以只包含我想要的xpath(或xml標記)。 – Twigs
另外,爲什麼不使用原始節點上的[$ xml-> children()](http://php.net/manual/en/simplexmlelement.children.php)屬性,以便可以迭代它們? –