2011-12-17 109 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數據結構上可靠且易於實現。