2012-01-09 57 views
8

我試圖將每個故事導入到一個對象中。每個對象將具有多個字符串(開始和結束)以及從附加內容中的內容生成的數組。一個小例子是:PHP將XML加載到對象

<feed> 
    <story> 
    <run> 
     <start>1/1/2012</start> 
     <end>3/1/2012</end> 
    </run> 
    <additional-content> 
     <content> 
     <sample>Sample story example</sample> 
     </content> 
     <content> 
     <sample>Sample story example</sample> 
     </content> 
    </additional-content> 
</story> 
... 
</feed> 

我所有的XML被導入到一個字符串。另外,我正試圖在沒有圖書館的情況下這樣做。 我明白遍歷每個故事,但我不確定如何將內容加載到對象中,同時也正確生成陣列。任何幫助,將不勝感激。

+0

沒有庫?或只是第三方庫? – 2012-01-09 05:29:04

回答

14

simplexml將xml加載到對象中,您可以完全按照您的要求使用它。

$xml = simplexml_load_string($stories); 
+0

單詞!現在,這真的在使用XML。恕我直言,將XML分解爲本地數據類型是愚蠢的,特別是如果你只是在進行字符串操作。創建操作XML對象(節點,文檔)的對象比分解XML更方便,更靈活。 – 2012-01-09 20:13:46

+0

是否有一種方法可以將此操作反轉爲生成xml? – 2012-01-13 00:13:45

+0

'$ xml-> asXML();'將返回xml字符串;所以你可以使用[這些方法](http://www.php.net/manual/en/book.simplexml.php)來修改XML,然後當你需要存儲或顯示xml時:'echo $ xml - > asXML();'會回顯xml。 – 2012-01-13 00:36:00