2009-11-10 134 views
3

XML文件是here。 如何獲取此XML文件中的源內容?如何在PHP中解析XML文件

+0

我的上帝,該xml是fugly。你爲什麼要從它那裏得到任何東西? – dar7yl 2009-11-10 07:19:07

+0

這個文件很簡單。 ms office 2007 docx文件xml ooxml更加難看。 – 2009-11-10 07:30:02

+0

DOM很好 - > $ document = new DOMDocument(); $ document-> load($ extrato); $ root = $ document-> getElementsByTagName(「OFX」) - > item(0); $ stmttrn = $ root-> getElementsByTagName(「STMTTRN」); – B4NZ41 2012-05-11 17:45:42

回答

15

實際上有四個相對簡單的方法來讀取XML文件:

  • DOM它使用DOM API(並且因此具有對整個文檔加載到存儲器)
  • SimpleXML它提供了一個非常簡單的和優雅的方式來解析XML文檔(但缺乏很多文檔操作方法),它也將整個文檔加載到內存中
  • XMLReader是一個基於流的XML拉解析器。它的使用並不像使用上述其他兩個選項那麼直觀,但是當您必須解析大型文檔時,它可能是一種挽救生命的方式(因爲它不需要將整個文檔加載到內存中,並且使用XML )。好的是,它可以讓你通過XMLReader::expand()DOM進行互操作。
  • XML Parser是一個非常低級別的組件,它允許您創建SAX解析器,這意味着您可以定義在讀取XML文件時將被調用的處理函數;本質上它們具有相同的利益爲XMLReader(流上操作)

我個人最喜歡的是:

  • SimpleXML當解析相對較小的XML文件,而不需解析時modifiy他們
  • XMLReader大的XML文件
+0

XML閱讀器不錯。 – 2009-11-10 07:34:45

+0

DOM是好的 - > $ document = new DOMDocument(); $ document-> load($ extrato); $ outer = $ document-> getElementsByTagName(「your_outer_tag」) - > item(0); $ inner = $ outer-> getElementsByTagName(「your_inner_tag」); – B4NZ41 2012-05-11 17:45:02

4

PHP已經在內核中包含XML parsers或作爲擴展(我推薦SimpleXML)。

嘗試使用它,然後詢問我們是否有任何特定問題。