【问题标题】:How to Parse XML File in PHP如何在 PHP 中解析 XML 文件
【发布时间】:2009-11-10 06:45:55
【问题描述】:

XML 文件是here。 如何获取此 XML 文件中的源内容?

【问题讨论】:

  • 天哪,xml 太丑了。为什么你还想从中得到任何东西?
  • 这个文件很简单。 ms office 2007 docx 文件 xml ooxml 更加丑陋。
  • DOM 很好 -> $document = new DOMDocument(); $document->load($extrato); $root = $document->getElementsByTagName("OFX")->item(0); $stmttrn = $root->getElementsByTagName("STMTTRN");

标签: php xml


【解决方案1】:

其实读取XML文件有四种比较简单的方法:

  • DOM 使用 DOM API(因此必须将整个文档加载到内存中)
  • SimpleXML 提供了一种非常简单优雅的 XML 文档解析方式(但缺少很多文档操作方法),它还将整个文档加载到内存中
  • XMLReader 是一个基于流的 XML 拉解析器。它的用法不像上述其他两个选项那样直观,但是当您必须解析大型文档时它可以成为救命稻草(因为它不需要将整个文档加载到内存中并在 XML )。好处是它允许您通过XMLReader::expand()DOM 进行互操作。
  • XML Parser 是一个非常低级的组件,它允许您创建 SAX 解析器,这意味着您定义将在读取 XML 文件时调用的处理函数;本质上,它们与XMLReader 具有相同的优势(在流上运行)

我个人最喜欢的是:

  • SimpleXML 解析相对较小的 XML 文件而不需要修改它们时
  • XMLReader 解析大型 XML 文件时

【讨论】:

  • DOM 是个好东西 -> $document = new DOMDocument(); $document->load($extrato); $outer = $document->getElementsByTagName("your_outer_tag")->item(0); $inner = $outer->getElementsByTagName("your_inner_tag");
【解决方案2】:

PHP 已经在核心或扩展中包含XML parsers(我推荐SimpleXML)。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2012-02-05
    • 2016-05-21
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多