Вот моя проблема. Я хочу создать функцию, которая принимает внешнюю переменную, которая содержит xpath, и как только функция запускается, я хочу добавить к этой же переменной для создания счетчика.Добавление дополнительной строки в переменную - PHP
Так что есть за пределами переменной:
$node = $xmlDoc->xpath('//a:Order');
Тогда функция с одним аргументом, который будет принимать внешнюю переменную ($node
). Как так:
function loopXML($node) {
i=1; //counter variable
}
Теперь я хочу, чтобы добавить счетчик в $ узел так, что она проходит через все дети «Заказ». Вне зависимости, я хотел бы использовать:
$child = $xmlDoc->xpath('//a:Order['.$i.']/*');
Но внутри функции, я понятия не имею, как Concat его. Кто-нибудь знает, как я могу это сделать?
EDIT: Кроме того, следует отметить, что я создал произвольное пространство имен уже:
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 parent xml tag для циклического перехода. $ child - все дети $ node. Мне нужно сделать это много, поэтому я хотел бы создать функцию для сокращения избыточности, и поэтому я могу просто включить xpath (или xml-тег), который я хочу извлечь. – Twigs
Кроме того, почему бы не использовать свойство [$ xml-> children()] (http://php.net/manual/en/simplexmlelement.children.php) на вашем исходном узле, чтобы вы могли повторять их? –