2009-11-10 3 views
3

Файл XML: here. Как получить исходный контент в этом XML-файле?Как проанализировать XML-файл в PHP

+0

Мой бог, что xml является бешеной. Почему вы все равно хотите получить от него что-нибудь? – dar7yl

+0

Этот файл просто. ms office 2007 docx file xml ooxml более фуги. –

+0

DOM хорошо -> $ document = new DOMDocument(); $ document-> load ($ extrato); $ root = $ document-> getElementsByTagName ("OFX") -> элемент (0); $ stmttrn = $ root-> getElementsByTagName ("STMTTRN"); – B4NZ41

ответ

15

На самом деле есть четыре относительно простых способов, чтобы прочитать файл XML:

  • DOM который использует DOM API (и, следовательно, должен загрузить весь документ в память)
  • SimpleXML, которая обеспечивает очень простой и элегантный способ анализа XML-документов (но не хватает многих методов манипулирования документами), он также загружает весь документ в память.
  • XMLReader - это потоковый анализатор на основе потоков. Это использование не столь интуитивно понятное, как использование обоих других вариантов выше, но это может быть экономией жизни, когда вам приходится разбирать большие документы (так как ему не нужно загружать весь документ в память и работать с потоком XML ). Приятно, что он позволяет взаимодействовать с DOM через XMLReader::expand().
  • XML Parser - очень низкоуровневый компонент, который позволяет создавать SAX-парсеры, что означает, что вы определяете функции обработчика, которые будут вызываться при чтении XML-файла; по существу, они имеют те же преимущества, как XMLReader (работающих на потоках)

Мои личные фавориты:

  • SimpleXML при разборе относительно небольшие XML-файлы без необходимости modifiy их
  • XMLReader при разборе большие файлы XML
+0

XML-ридер - это хорошо. –

+0

DOM - хороший -> $ document = new DOMDocument(); $ document-> load ($ extrato); $ outer = $ document-> getElementsByTagName ("your_outer_tag") -> элемент (0); $ inner = $ outer-> getElementsByTagName ("your_inner_tag"); – B4NZ41

4

PHP уже включает XML parsers в ядре или в качестве расширений (рекомендую SimpleXML).

Попробуйте использовать его, а затем спросите нас, есть ли у вас какие-либо проблемы.

Смежные вопросы