2009-11-10 89 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)。

尝试使用它,然后询问我们是否有任何特定问题。