3

The XML file is here. How can I get the source content in this XML file?

cetnar
  • 9,357
  • 2
  • 38
  • 45
Bruce Dou
  • 4,673
  • 10
  • 37
  • 56
  • My god that xml is fugly. Why would you want to get anything from it anyway? – dar7yl Nov 10 '09 at 07:19
  • This file is simply. the ms office 2007 docx file xml ooxml is more fugly. – Bruce Dou Nov 10 '09 at 07:30
  • DOM is good -> $document = new DOMDocument(); $document->load($extrato); $root = $document->getElementsByTagName("OFX")->item(0); $stmttrn = $root->getElementsByTagName("STMTTRN"); – devasia2112 May 11 '12 at 17:45

2 Answers2

15

Actually there are four relatively simple ways to read an XML file:

  • DOM which uses the DOM API (and therefore has to load the whole document into memory)
  • SimpleXML which provides a very simple and elegant way to parse XML documents (but lacks a lot of document manipulation methods), it also loads the whole document into memory
  • XMLReader is a stream-based XML pull parser. It's usage is not as intuitive as the usage of both other options above, but it can be a life-saver when you have to parse large documents (as it does not need to load the whole document into memory and operates on the XML stream). The nice thing is that it allows you to inter-operate with the DOM via XMLReader::expand().
  • XML Parser is a very low-level component which allows you to create SAX parsers, which means that you define handler functions which will be called when reading the XML file; essentially they have the same benefits as the XMLReader (operating on streams)

My personal favorites are:

  • SimpleXML when parsing relatively small XML files without the need to modifiy them
  • XMLReader when parsing large XML files
Stefan Gehrig
  • 82,642
  • 24
  • 155
  • 189
  • DOM is the good one -> $document = new DOMDocument(); $document->load($extrato); $outer = $document->getElementsByTagName("your_outer_tag")->item(0); $inner = $outer->getElementsByTagName("your_inner_tag"); – devasia2112 May 11 '12 at 17:45
4

PHP already includes XML parsers in the core or as extensions (i recommend SimpleXML).

Try to use it and then ask us if you have any specific problem.

pablasso
  • 2,479
  • 2
  • 26
  • 32