2011-12-17 76 views
2

我想传递一个XML字符串到一个函数,然后我会返回父节点连同它的值。传递XML到PHP函数

说了一个例子:

$xml = "<Student><Name>Jee Pee</Name><Age>16</Age></Student>"; 
runXmltoStr($xml); 

function runXmltoStr($xml) 
{ 
// This is where I can't figure out where to start 
// In my mind, I do have this output 
// 
// Student 
// Name: Jee Pee 
// Age: 16 
} 
+1

首先阅读PHP XML解析器:http://php.net/manual/en/book.xml.php – ChrisW 2011-12-17 17:32:37

+0

感谢Chris的链接。 – 2011-12-17 17:34:44

回答

4

你应该使用XML解析器,如SimpleXML

$xml_node = simplexml_load_string($xml); 
$xml_node->Name; // Jee Pee 
$xml_node->Age; // 16 
+0

谢谢@Tim Cooper。我试图'print_r($ xml_node);'但我没有看到数组的关键的学生。我寻找它的目的是,我喜欢将它包含在我的输出中。 – 2011-12-17 17:45:32

+0

@Dee:就像我发布的那样,您可以像访问对象的属性那样访问节点,如下所示:'$ simplexml_node-> SubnodeName'。 – 2011-12-17 17:50:52

0

也许你可以看看DOM manipulation features of PHP,可以为你做所有这些东西。

DOM不是解析XML的最快方法,但它在复杂的XML数据结构上可靠且易于实现。