2011-03-21 46 views
2

我想要一个XML节点传递给一个函数,但无法弄清楚如何 - 这是我的XML标记:PHP:传递一个XML节点功能

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<root> 
<form> 
<item> 
    <id>frm1</id> 
    <dbID>1</dbID> 
    <visible>1</visible> 
</item> 
</form> 
<form> 
<item> 
    <id>frm2</id> 
    <dbID>2</dbID> 
    <visible>1</visible> 
</item> 
</form> 
</root> 

设立foreach循环时 - 如何通过XML迭代语法并将整个节点传递给函数? 我试过类似:

foreach($xml as $ctlXML => $value) 
{ 
    $ctl = generateCTL($ctlXML); 
} 

但它不工作,因为它应该。

感谢

+2

你应该向我们展示更多的代码,怎么样你加载XML *(simplexml?DOM?)*,你如何调用函数,你得到了什么,以及你想得到什么。 – 2011-03-21 06:41:26

回答

2

如果您正在使用SimpleXML是简单

$xml = simplexml_load_file($path_to_file); 
foreach($xml->form as $form){ 
    $ctl = generateCTL($form->item); 
} 

要小心 - $形式 - >产品对象

+0

它应该是'foreach($ xml-> form $ form)' – Shikiryu 2011-03-21 09:09:49

+0

@Shikiryu谢谢你纠正我。 – avrelian 2011-03-21 10:30:05