Что такое код domxml_open_mem

Содержание

����� PHP ������������� > PHP ��������� > PHP ��� ����������

������� ��������!

����������� �� ����
����������� �� e-mail �� ������� � ����, �� ����� ������ ���������� �� ������.

�������� �� ���� �����
����������� �� e-mail � ����� ����� �� ������, �� ����� ������ ���������� �� ������.

�������/����������� ����
���������� ���� � ��������� �������� ��� �������� ������ ��� ������ ���� ����.

domxml_open_mem

domxml_open_mem � Creates a DOM object of an XML document

��������

The function parses the XML document in the given string.

������ ����������

The contents of the XML file.

This optional parameter can be used to change the behavior of this function.

You can use one of the following constants for it: DOMXML_LOAD_PARSING (default), DOMXML_LOAD_VALIDATING or DOMXML_LOAD_RECOVERING. You can add to it also DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES and DOMXML_LOAD_COMPLETE_ATTRS by bitwise or.

If used, it will contain the error messages. error must be passed in by reference.

������������ ��������

Returns a DomDocument instance of the given XML contents.

������ ���������

������ ��������
4.3.0 The mode and error parameters were added.

�������

������ #1 Opening an XML document in a string

if (! $dom = domxml_open_mem ( $xmlstr )) <
echo «Error while parsing the document\n» ;
exit;
>

$root = $dom -> document_element ();
?>

�������� �����

  • domxml_open_file() — Creates a DOM object from an XML file
  • domxml_new_doc() — Creates new empty XML document

domxml_open_mem

domxml_open_mem � ������� ������ DOM XML ���������

��������

������� ��������� XML �������� �� ���������� ������.

������ ����������

���������� XML �����.

���� �������������� �������� ����� �������������� ��� ��������� ������ ������ �������.

� �������� ��������� ����� ���� �������� ���� �� ��������: DOMXML_LOAD_PARSING (�� ���������), DOMXML_LOAD_VALIDATING ��� DOMXML_LOAD_RECOVERING. ����� ����� �������� ��������� DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIESDOMXML_LOAD_COMPLETE_ATTRS ����������� ���������� ���.

���� ������������, ����� ��������� ��������� �� �������. error ������ ���� ������� �� ������.

������������ ��������

���������� ������ ������ DomDocument, ���������� ������ XML ������.

������ ���������

������ ��������
4.3.0 ��������� ��������� modeerror.

�������

������ #1 �������� XML ��������� �� ������

if (! $dom = domxml_open_mem ( $xmlstr )) <
echo «������ ��� ������� ���������\n» ;
exit;
>

$root = $dom -> document_element ();
?>

�������� �����

  • domxml_open_file() — ������� ������ DOM �� XML �����
  • domxml_new_doc() — ������� ����� ������ XML ��������

domxml_open_mem — ��������� ������ ��� ������ ������� domxml_open_mem()

0 Saritha [2012-02-15 11:36:00]

����� � ������� ������� domxml_open_mem() � ���� �������, � ������� ��������� «Fatal error: Call to undefined domxml_open_mem()». ����� � �������������, ��� ������� domxml_open_mem() ���������� ��� ���, ����� � �����, ��� ��� ������� �� ���������� �� �������, � ��������� ������ PHP 5.2.9, � ������ — ��� Linux. � phpInfo() ��������� �������� ������ dom

��� ����� ���������� �����.so ����, �������� domxml.so, ��� � ���� ���������� ���� ���� ��� ��� �������� ��� �� �������?

����������, �������� ���!

1 �����

2 SDC [2012-06-13 16:17:00]

domxml_open_mem() �������� �������� PHP4-legacy. �� �� ������ ��� ������������. ��� ����� ���������� PHP4 DOMXML, ������� �� ���� ��������, ����� PHP ��� �������� �� ������ 5.

PHP5 ���������� ��� �������������� ��������� ��������� XML, ������� �� ������ ������������ ������ �����.

���� �� ��������� �� ������ ���� ��� ������ ������� domxml_open_mem() , ����� ���� ����������-��������, ������� ���-�� �������, � �������� ��������� ��� ������ ������� � ������, ������� ���� �����������, � �������� ��������� �� � �������������� ������������ PHP5.

���� � ��� ���� ������ ��� PHP4, ������� �� ������ ��������� � ����������� ������� �����, ��������, ��� ��������.

������ � ����������� ������� ��� ����� ������� ����� ������ ���������� ���� ���, ����� ������������ ����� XML-���������� PHP5.

dom — domxml_open_mem — ��������� ������ ��� ������ ������� domxml_open_mem()

����� � ������� ������� domxml_open_mem() � ���� �������, � ������� ��������� «Fatal error: Call to undefined domxml_open_mem()». ����� � �������������, ��� ������� domxml_open_mem() ���������� ��� ���, ����� � �����, ��� ��� ������� �� ���������� �� �������, � ��������� ������ PHP 5.2.9, � ������ — ��� Linux. � phpInfo() ��������� �������� ������ dom

��� ����� ���������� �����.so ����, �������� domxml.so, ��� � ���� ���������� ���� ���� ��� ��� �������� ��� �� �������?

����������, �������� ���!

    2 1
  • 4 ��� 2020 2020-04-04 21:19:11
  • Saritha

1 �����

domxml_open_mem() �������� �������� PHP4-legacy. �� �� ������ ��� ������������. ��� ����� ���������� PHP4 DOMXML, ������� �� ���� ��������, ����� PHP ��� �������� �� ������ 5.

PHP5 ���������� ��� �������������� ��������� ��������� XML, ������� �� ������ ������������ ������ �����.

���� �� ��������� �� ������ ���� ��� ������ ������� domxml_open_mem() , ����� ���� ����������-��������, ������� ���-�� �������, � �������� ��������� ��� ������ ������� � ������, ������� ���� �����������, � �������� ��������� �� � �������������� ������������ PHP5.

���� � ��� ���� ������ ��� PHP4, ������� �� ������ ��������� � ����������� ������� �����, ��������, ��� ��������.

������ � ����������� ������� ��� ����� ������� ����� ������ ���������� ���� ���, ����� ������������ ����� XML-���������� PHP5.

Unsupported encoding � domxml_open_mem()

a_raven

�������

Unsupported encoding � domxml_open_mem()

������ ��������� ������:

Warning: domxml_open_mem(): Unsupported encoding Windows-1251 in . /test.php on line 1

Warning: domxml_open_mem(): Unsupported encoding cp1251 in . /test.php on line 1

��� ������ ����������� � ���� ���� (PHP 4.4.2/Windows), � ����� ������������� �� ���� ���������� �������� (PHP 4.4.0/Unix), ������ ���������� ��������� �� ����� �������� (PHP 4.4.1/Unix).

���-�� ����������� ����������������� �� �������, ����� ������� �� ���. ��������� ��� �������, ��� ��� ����� ��������� :/

����� �� ���-�� ������? ����� ������� �������� ��������� ��������� � domxml? � ������ ������� (�������� � iconv) Windows-1251 (cp-1251) �������� ��� �������.

������������� UTF-8 �� ���������� ���� ������ �� ������� ���������, �� � ��� � ������ (������ � ���� ����� ������� ��������� �������������� �������).

PHP � XML

XML — ��� ���������� �� extensible Markup Language (����������� ���� ��������). ���� XML � ������������ ������� ����� �������� ����� SGML (Standard Generalized Markup Language � ����������� ���������� ���� ��������), �� ��� ������������� XML �� ��������� ���-���� ����� � ����� SGML. ���� XML ���������� ��������� �������� ����������������� ����������, ��������� ��� ������ ������ � ������������.

���� XML ��������� ��������� ����������� �� ���������� ������� ������ �������. ����� ����������� ���������� ������������ ��������� � ������� ��� ����� ����������� � ������� ������� ���������� �������� ��� ���.

��������, ����� ����� ����� ������ ���������� ����� XML, ���������� ���� ��� �� ������� ��������� ������, � ������� �� ����� ����������� ���� HTML. ����������, HTML � ��� ����� ���� ��������, �� ��������� HTML ����� ������ ������� ������������������. ����������� HTML (��������� ���������� ������) � �������� ������������ ����� ����� ���� ������� ����������������� �������, �������������� ���������.

��������, ���� ������������� ������������

�� ���� �����, ��� � ���� HTML ����������� ���������, �������, ��� ������ ������ ����������� �� ����� ��������������� ����������, ������� �� ������ ���� � ����������� ����, ��� �������� ����� ������ �� ������ �������� ����� ��� ��� �������� ������ �������� ������ � ����� � ������� �����������. ������� � ������� ������ ������������ ��������� ������ ���������� ������� � ��������� ����������� ������, �� �� ���� �� ���� ������� �� ����������� ������ �� ��������� ������.

������ ��, ��� ������� ���������� � �������� ����� XML, ������������� � ����� ���������������� ����������, ����� ����� �� ����������� ������ ���� XML. � ���������������� ��� XML �� ������ ���������� ��� HTML. � ���������, ������������ ����� HTML ����� ����� ������ ��������� �������� ����� XML, ��������� ������������ ����:

������ ��������, ��� � ���� XML ������� ������������� ����������� � ��������, � ����� ��������������� ����� �� ������������� ���������, ��� � � ���� HTML. � ����� XML ������ ���� ������������ ���������� ���������.

��� ������������ ��������� XML ���������� ��������� ��������� ���� ����������� ���������� � ��� ���������:

  • � ��������� ������ ���� ������������ ���� ������������ �������� �������, ������� �������� ��� ������ ��������, ������� �������� � ���������� HTML. ������ �������� ������� �������� ����� ��������� ���������.
  • ��������� �������� ��������� ������ ���� �������������. ��� ��������, ��� ��������� ��������� � ������������� �������� ����������, � ��������� � ���. � ������ ������� ��������, ��� ������� ��������� �������� ������� , � �� ������ ������� �������� � �������������. ���� XML �� ���������, ����� ����������� ����������� �������� �������� �� ������� ������������ ����������� �������� (�.�. �������������).
  • ��� �������� ������ ����� ����������� ���������� (� ���� ������� ������� XML �� HTML, � ������� ����������� ���������� ��������� ���������� ���������). ������ �������� �������� ����� ���� ������ � �������������� ������������ ����������� (��������, ), ��� � ����� HTML, ��� �������� XML �� ��������� ������������ ����������� (��������, ).
  • �������� ����� ��������� ������ ��������, ����� � ������ ������. ���� ������� �������� ��������� ������, ������������ ��� XML (��������, ), �� �� �������� ��������, ��� ��������� ��������� �������������� ������ ������-�� ������� � ������, �� ���� ������ ������ ���� ��������� ��������� ������������ �� ������ ����� ���������.

����� ������������� ���� ������������ ����������, ������� ��������� � ��������� ��� ���������� ���������� �� ����������� ���������� ������������, �������� XML ��������� �����, ��� ��������� XML ������ ���������� � ������������������ ���������� XML. ��� ���������� ������������ ����� ���������� �� ���������, � ������� ������� ��� MIME � ����� ������, ��� � ������� . ��� ���������� �� ������������, �� ��������� �������������� �����������, �� ��������� ���, ������� ��������� �� ������. ����� ����, ��� XML ������������ � ��������, � � ��������� ������� XML, ����� ��� XHTML, ���������, ����� ����� ������������ � ��������� �������� �� �������� ����. � ����� ��������� XML ��� ��������� ������� �������� � ��������� ������������ � �������, ���������� �� �������� ����, �� ������ ������������� ������������ ����������� � ��������, �������� � ������ ��������, ���� ��� ������� ��������� ��� ������������� ���� ������� ��������.

������������ ���������� ����� XML

���� ���� ������� �������� ������������ ����� XML, � � ������ ������� ��������������� �������� ������� ���������� XML. ��� ���� � �������� �������. � ����� ������ ������ ���� XML ������������ � ���� ������������: ��������������� ������� � �������� ������; �������� ������ �� ������ ������������ ���������� � ������; ����������� ������� XML � �������� ��� � ������ ���������� � ������� �������� ������ �� �������, �������� � ���� ������ ������.

�� �������� ����� ����� �� ���������� ���� XML ��� �������� ������ � �������� ��������� �������� ������������� ������, ��������� ��� ������������� ������ ����������� ����������� ����������� ��������� ������ � ���� SQL. ��������������� ������� � ������� XML ���������� ��������, ���� ��� ��� ������ (��������, ���������� ����������� ������������� ���������, �������� � ����������� ������ XML, � �� ����� ��������� ��������������� � �����), �� � � ���� ������ ������ ������������ �� ������� ������ ����������� � �������� �������. � ��������� ��������� ��� ���������� ������������ ������ � ����� ������� ������������� ���� XML � ��������, ��� �������, � ����� XHTML, �� ���������� � ����� ������� ��������� � ������������ ������������ ����������.

������� � ��������� ����� �������� �������� ������������� ����� �������� ����������� ���������� ����� XML, ��� ����� ������� ����� ������������ � �������������. ��� ���������, ������ � ���� ������� ���� PHP ����� ������� ����� ���������������� ����������. ��������, � ������� ��������� C ����� ���� ��������� ��������� �������� � �������, ����������� �� ���� ������, ����� ����������� ����� ����������� � ���� XML, ������� ����� ���� ������������ � ������� ����� PHP � ��� HTML ��� ����������� � �������� ��� ������ ����������.

����� ����������� ������ ������, � ������� ����������� ��������� ������������� ������, ���������� ����� �����, ���� ��������� ��� ������������ ������ ���� �������� ������������ ����� ����������. ���� � ���, ���, ��� �������, ��������������� ��������� ���� ������� ���������, ������� ��������� �� ������� �������� � �������� ��� HTML, ���� ������ ����� ����� ��������������� ����������� �����������.

����� ����, ���� PHP ��������� ��������� ������ �� ��������� ������ � ��������������� �������� ���� ��������� XML. ������������� � ���� ����� ���������� ��� �������� ��������������� ���������� � ������ ���-����� �� ������, ���, ��������, ��� ��������������� �������������� ����������. � ���� �� ��������� �������������� ����������� ����� ��������� ������ ������������������� ������������� �������������� ��������� ���������� ��������� XML � ������� ���������� � ���� ���-�����. ������ ������, � ��������� ����� ����� ���� XML, ��-��������, ��������� � �������� ���������������� ��������� ����� PHP, ��������� � XML.

��������� API-����������� SAX � DOM

��� ��������� ���� XML � ���������� XML ���� ����� ����������� ��� �������� ���� API-�����������: SimpleXML, ��������� ������ ��������� (Document Object Model � DOM) � ������� API-��������� ��� XML (Simple API for XML � SAX). ��� ��� ���� ������ ������ �������� �� ��� ������������ PHP.

��� ��������������� ������� � ����������� ������ ��������� XML ����� ������������ ����� �� ���� API-����������� � DOM, SAX ��� SimpleXML. � ��� �������� ��� ���������� ��������� XML ������������� � ������� ���������� PHP (����� �������, ��� ��������� �����-���� ���������� ��������� XML �������) ���������� ������������ DOM. ������ �� API-����������� ����� ���� ������������ � ����������, ������� ������� ����:

API-��������� SAX �������� ����� ���������� � ����� ������� � ��������, �� �������� XML ��������������� � ���, �� ��������, ��� ����� ��������� ������. ����� �������, ����, ��������, ���������� ��������� �������������� ������ ������ �������, �� ���� PHP ��������� ������ �������� �������������� ���������� SAX � � ������� ����, ��������, ���������� ���������� ������� �������� ������ ������������. �� ������ ������ ���������� ��������� ������ �������� ��� �������� ����� ����� ������, � ���� ����������� �������� ������ ����������� ����������� �������� ����������.

API-��������� SAX ����� ������ �������� ��� ���������� ������������� �����, � ������� ��������� ���������� ����� � ��� �� �������� �� ���� ��������� ������������� ����, ��������, ��� ������ ����������� ����������� �������� ������������� HTML � ���� �������������� ��������� XML � �������� HTML, ��������������� ��� ������ �� �����. �������������� ���������� SAX ������������ �������� ���� ���, �� ������ �� �����, ������� �� ��������� ������������ � ��������� �������� � ������ ������� ������, ����������� � ��������� ����� �� �������������� ���������.

���������� DOM, ��������������� � ����� PHP, ��������� ��������� ���� XML � ��������� � ������ ������ ��������, ����������� �����. ��� ���� ����������� ������ ��������� � ������ ��������� ��� � ������ �������� ��������� (�������� � ������������ DOM ��������� ������), ����� ���� �������� ��� �������� �������� �������� � ������������ �����, � ����� ��������� �������������� ���������� � ������ ����� ������.

������� DOM ����� ��������� � �����������, � ����� �������� �� � ���� ������. API-��������� DOM ����� XML ������������ ��������� ����������, ���� �������� ���� �������� XML. � ���� ��� XML ��������� ����� �������� � ���� ������ ��� ��������� ���������� ����� ������ ���������� XML ��� ������� ������ � ���� �� ���������, �� ������������� ������������ API-��������� SAX. ����� ����, � ���������� DOM ����������������� ������������ ������ � ������, ������� ��� ��������� ������� ���������� ����� ������������� ������������ �������.

SimpleXML

API-��������� SimpleXML ��������� ������ ������� ���� XML, ������������� ��������� �� ������������ � ��� ��������� � ����������� ���� PHP (����������, ������� � �.�.), � ����� ��������� � ���� ����������� ����� ����������� ��������, ��� � � ������� ���������. API-��������� SimpleXML ��������� �������� ��� ����������, ��������� � ����������� �������� ���������� �������������� �������, ������� ��������� � API-����������� SAX � DOM, � ������������ ������� ������� ������. ����� ����, SimpIeXML ����� ������������� ����� ������� ������ �������� ��������� ������� � ������ XML.

��� �� ����� SimpIeXML ����� ��������� �����������, � ���������, ���� API-��������� ������ ����� ���� �������������� ��� ��������� ��������� � ������� ��������� ���������.

API-��������� DOM

API-��������� DOM ��������� ������ ��������� ������������ ����� ����������� �������� API-��������� ��� ��������, �������������� � ��������������� ������� ���������� XML. ���� ���������� DOM ����������� � ������������ � �������������� ����������� W3C.

�� ��������, ���� ����� ���������� ������� � ���, ��� ������ �������� XML ����� ������������� ��� �������� �����, ������������ ����� ������. � ������� ���������� ���������� ����� ������� ������������� ��������� ��������� � ����� ���������, ������� � ��������� ��������, �� ��������� � �������� ��� ������ �������� �������� ���������. �� ���������� ����� ���� ����� ���������� �������� � ���������� ������. �������� ���������� ��� �������� ������ ����������� � ������ �� ����� XML, ����� ���� ����� ���� ��������� ����������� � ������� ����� PHP, � ���������� ������ �������� � ������ ���� XML ��� ��������� � ����������.

� ������ ���������� DOM ����� PHP ����� �������������� ���������� gnome-libxml2 (����������� ��������� libxml2 ������� Gnome), ��������� ���������, ��� ��� ��������� ������� ������ ������ ������, ��� ������.

��������� DOM XML � ��� ������������ ��������� ��������-��������������� API-��������� � ����� PHP, ��� ��� ������������� ���������� ����� ������������ ������������� �� ��������-��������������� ����������������. ��� ��� ���������� �������� � ������� � ���� API-���������� �����������, �� ����� ����� ����� �������� ������ ��������-���������������� ����������������, ����� ������� ��������� DOM XML.

���������� DOM XML

������� ������������� API-���������� DOM ������� �� ������������ �����, �� ���� ����� ��������� ��������� ��������� ���� ��������:

  1. ������� ����� �������� DOM XML ��� ��������� ���, �������� � ����������� ������.
  2. ��������� ����������� � ���������� �� ������ �����.
  3. ������� �������������� �������� XML � ���� ������ ��� �������� ��� � ����. ��� �������� �������� ����� � ������������ ������, ������������ �������������� ������������.

���� �������� ������� ������, ������� ������������� ������������� ��������� ������� ������� DOM XML. ��������� � ���, ��� ����� ������� � ������ ������������, � ������� ������ �������� �������� ������, ���������� ����� �������, ��� ���-������ ����� �������� ���� � ��������� �������:

� ���������� ���������� ����� ���� ������������ XML-����.

������� DOM

� ������� ���� ��������� �������� ���������������� ������� DOM. ��� ������� ���������� ��������, ������ ��� ������������ �����-���� �� ������ ������� DOM XML!

������� DOM XML �������� ������

������� ����������
domxml_open_mem() ��������� � �������� ��������� ������, ���������� �������� XML. ��������� �������������� ������ ��������� � ������� ������ Document
domxml_open_file() ��������� � �������� ��������� ������, ���������� ��� ����� XML. ��������� �������������� ������ ����� � ������� ������ Document
domxml_xmltree() ��������� � �������� ��������� ������, ���������� �������� XML. ������� ������ �������� PHP � ���������� ������ DOM. ������ ��������, ������������ ���� ��������, ��������� ������ ������
domxml_new_doc() ������� �����, ������ �������� XML � ������. ���������� ������ Document

� ������� ���� ��������� �������� ������ ������ API-���������� DOM:

������ DOM XML

����� ����������
DomDocument ������������� �������� XML. �������� �������� ������� � ����������� DTD, ���� ������� �������
DomNode ������������� ����, ��� �������. ���� ����� ���� �������� ��� ����� ��������� � �������� ��������� ��������. ���� ����� ��������� ������ ����, ���������� ������ � ��������
DomAttr ������������� ������� ����. ������� � ��� ������������ ������������� �������������� ����

� ��������� ������� ��������� �������� ������ ������ ������ DomDocument:

������ ������� DomDocument, DomNode � DomAttr

����� ����������
DomDocument -> createElement() ������� ����� �������, ������������ �������� �������� ���������� ������. ���� ������� ���������� ������������ � ������� �������� � ������� ������� DomNode->appendChild()
DomDocument -> createTextNode() ������� ����� ��������� ���� (������ DomText). ���� ���� ���������� ������������ � ������� ���� � ������� ������� DomNode->appendChild()
DomDocument -> save() ������� �������� XML �� ������ � ��������� ����
DomDocument -> saveXML() ������� �������� XML �� ������ � ������. �������������� ���������� �������� ������ DomNode
DomNode -> appendChild() ������������ ���� � ������� ����
DomNode -> removeChild() ������� �������� ����
DomAttr -> name() ���������� ��� ��������
DomAttr -> value() ���������� �������� ��������

API-��������� SAX

��� ���������� ������� API-��������� ��� XML ������ ����������� ��� ��������������� ������� ���������� XML. ������ API-��������� ������� �� ������������� �������. ��� ��������, ��� �������������� ���������� SAX �������� ��������� ��� ������� ����� ����������� ����, ��� ���������������� ������������ ������� � ������ �������.

������� �������� API-���������� SAX �������� ����� ����������, �������� � ������������� � API-����������� DOM. ������ �����, API-��������� SAX �� �������������� ��� ������ �����-���� ����������� ����������� �� ��������������, � ��� ������ ������� �������������, �������������� ������ ������ �������� XML-DEV, ������ �� ������� ��� ����������� ���� ����������� �������������� ����������� XML (� ������ ������� �� ����� Java) ��� ���������� ������������ API-����������.

API-��������� SAX ��������� no �������� ������������� ��������� ������������ ���������� �� �������. ��� ����������� ���������� �������� � ������� ���� PHP. �� ���� ���� ��� �������������� ���������� �������� �� ��������� XML, ������������ ����� ��������� ���� XML, ��� ��������, ���������� ������ � ������� ��������. ������ ������ ������������� �������������� ��� �������. ���� ��������������� ����������� ������������� �������, ���������� ������ ����� ����������� �����-�� ���������� ������������� �������, �� �������������� ���������� �� ����� ���������������� ��������� ����� ������� ����� ������������� ���������� �������.

���������� �������������� ������������ ������, ������� ������� � ������������ ��������, ��������������� ��������� ��������. ����� ���������� ������ ������� ��������� ������� �������������� ���������� SAX ���������� ���������������� ��������� ���������, ������� ��������� � ��������� ������� �� ��� ���, ���� �� ����� ��������� ����� ���������. ���� ������� �������� ���������������� �� ���������� ���� ���������, �� ������ �� ����� ���������, ��������� �������������� ���������� �� ����� ������������ ����� ��� �������� ������������ �����-���� ����� ���������.

�� ������ ������ 5 � ����� PHP ������������� ����������� ������� expat ������� ������ (James Clark) � ������ ����������� �������������� �������� �������������� ������������ XML. �������������� ���������� � ���������� expat ����� ����� �� ���-����� ������ �� ������ www.jclark.com/xml. �� ���� ������������� PHP �������������� ������ � ����������� libxml2, �� �� ������ ����� ����������� ������������ ���� ���� ��� SAX ��� ������ PHP4 � � ������ PHP5 ��� �����-���� �������.

� ���������, �������� �������������� ���������� ���������� � ����������� ����������, ����� ��� libxml2, � ���� ������� ��������� XML � ����� PHP. �� ���� ���� ���� � �������� � ������ ��������������� �����������, �� ��������������� ���������, ����� ���������� ���������. ��������� ���������� ��������������� ����� � ��������� ���� ������� XML ����� PHP, � ������� ������������ ������ �������������� ����������.

���������� API-���������� SAX

������� ������������� API-���������� SAX ������� �� ������������ �����, �� ���� ����� �������������� ��������� ���� ��������:

  1. ����������, ������ ���� ������� �������� ���������.
  2. �������� ������� ������������ ��� ������� �� �������. ��� ���� ����� ��������� ����������� �������� ���������� ���������� ������, � ����� ����������� ��� ��������� � �������� ���������.
  3. ������� �������������� ���������� � �������������� ������� xml_parser_create(), � ����� ������� ��� � ������� ������� xml_parse().
  4. ���������� ������, ���������� �������������� ������������, � ������� ������� xml_parser_free().

���� �������� ������� ������ ���������� ���� �������� ������� XML (XML-������, ������������ � ������ �������, �������� ���� test_dom.xml, ������� ��� ������ ����):

����� ��������� ������������ SAX

����� ����� ��������� ��������������� ����������� XML, ������������ � ��������� � API-����������� SAX, ������� ��� ����������������� �����. ���� �� ��� ��������� � ���������� � ������� ��������, � ������ � � ������ ������� ���������.

����� ���������� � ������� �������� ����������� ��� ����������� ���� �������, �������� � �������, ������� � ���� ���, ����� ���� ��� ���� XML ������������ �������� �������������� � ��������, ����� ��������� ����������������. ����� ������ ������ SGML � HTML ���� ����������������� � ��������, � ������� ��� ��������� ������������� �����������, ���������� ���������, �������������� �������� ���������� � ������� �������� (�������������� ���� �������� � ������� ��� ������ ������� �� ����� ��������������� �������).

��������� ����� ������� ����������� �����������, ������, ������������� ����������

� ������������ . �� �������� ���������� � ������� �������� ��������� ������������ ��-�� �������, ��������� � ��������������������, ������� ����� ��������������� ��������� ���� XML ��� �������� ��� �������������� � ��������. ���� ����� ���������� � ������� �������� ���������, �� ��� ����� �����, ������������ ������������ �������, ������������� ����� ������ ���� ��������� ���� ���������, �������, ��������, ��� ���� mynode ��������� � ����������� ������� � ���� MYNODE. � ���� ����� ���������� � ������� �������� ���������, �� ����������� ����������

�� ����������� � ����������� ������������

������������� ����� ���������� � ������� �������� ��������� �� ���������, ��� ������������ ������������ XML 1.0. ���� ���������� ���� ����� �� ����� ��������� � ������� ������� xml_parser_set_option(), �� ����������� ����� ������������ � ����������� ������� ����� �������������� �������� ���� � ���������.

����������� ������� �������� ��������� ������ �� ��������������� ����������� XML � ����� �� ���� ��������� � ISO-8859-1, US-ASCII ��� UTF-8. �� ��������� ����������� ��������� ISO-8859-1. ��������� ������, ������������� ������������ �������, ���������� ������� ����������. �� ��������� ������� ��������� ��������� � ����������, ������������ � �������� ���������, ������� ���������� �������� ����������. ���� ����� ������ �������������� � ���������, �������� �� ���, � ������� �� ��������, �� ����� �������� �������� ����� ������� ���������.

������� �������� ����� ��������� � ������� ���� �������� �������������� � ������� ������� xml_parser_get_option() � xml_parser_set_option(). ��� ���������� ��������� ���������� � ������� �������� ������������ ��������� XML_OPTION_CASE_FOLDING, � ������� ��������� �������� � ������� ��������� XML_OPTlON_TARGET_ENCODING.

� ��������� ������� ��������, ��� ������� �������������� ���������� XML, ������� ��������� ������ � ���� ASCII, �������� ����� ���������� � ������� �������� � ������� ���������� � ��������� UTF-8:

������� API-���������� SAX

� ������� ���� �������� ������ �������� ������ ������� SAX � ������� �� ����������:

������� API-���������� SAX ����� XML

������� ����������
xml_parser_create ([encoding]) ������� ����� ��������� ��������������� ����������� XML. � ��������� � ����� ����� ����� ���������� ��������� ������ �������������� ������������. ������������ ��������� �������� ��������� ��������������� ����������� XML, � ������ ���������� ���������� ������� ���������� �������� false. ��������� ���� �������������� �������� � ������������� ��������� �������� (����� ��� UTF-8). ���� ��������� �� ������, �� ��������� ����������� ISO-8859-1
xml_parse (parser, data, [final]) �������� �� ���������� �������������� ���������� XML. �� ����������� �������� �������������� ����������, ��������� � �������������� ������� xml_parser_create(), ������, ���������� �������� XML, � �������������� ������ ����������. ������ ���������� final ��������� �������, ��� ������� �������� ������ ������������ ����� ��������� ��������, ��������������� ��� ��������� ���� �������������� ������������
xml_get_error_code (parser) ���� � �������� ������ ��������������� ����������� ��������� ��������, �� ����������� �������������� ������ ������������ ��������. ����� ���� ������� �� ���������� ��������� ���������� ��� ������
xml_error_string (errorcode) ����� ��������� ���� ������, ������������� �������� xml_get_error_code(), ���������� ������, ���������� �������� ������, ������� ����� ����������� ��� ������ � ���
xml_set_element_handler (parser, start_element_handler, end_element_handler) ���������� ������������� ��� �����������, ������� ������������ ����� ������ �������. ������ �� ��� �������� ���������� ���������� ����������� ��������, ������� ������ � ����� �������� � � �������������� ������� ��������� ��������, � ������ � ���������� ��������� ����������� ��������, ������� ������������ ������ �������������� ������ ��������
xml_set_character_data_handler (parser, cd_handler) ������������� ������� �����������, ������� ���������� ������ ��� ��� ����������� ���������� ������. ������� ����������� ��������� � �������� ��������� ������, ���������� ���������� ������
xml_parser_free (parser) ����������� ������, ��������� � �������������� ������������, ������� ������ �������� xml_parser_create()
xml_set_default_handler (parser, handler) ������������� ����������, ����������� �� ���������. ���� ��� ���������� ������� �� ������ �� ���� ����������, �� ���������� ����������, ����������� �� ���������, ���� �� �����. ��������� � �������� ��������� ��������� �� ������ ��������������� ����������� � �������-����������

API-��������� SimpleXML

API-��������� SimpleXML ������� �������� � ������ PHP 5 � ��������������� ��� �������� ����������� ��������. ��������� API-��������� �� ��������� �� ��������� ��� � ��������� � �������� �� ���������� �������� ������������ � ���������� ����������� � ������, ����� ���� �� ���� ������������ ������ ��������. ���� ��������� ������ ��������� ��������� ������ �� ��������� XML � �������� ������ ��� �����-�� ������ ������, �� ��� ������� ���� ������ � ������� API-���������� SimpleXML ����������� ���������� ���������� ����� ���� �� ��������� �� ����� ������� ���������� ���������.

� ������ API-���������� SimpleXML ����� ��������� ����: � ��������� ���������� ����� ���� �������� XML, ����� ���� �������������� �������������� ������ ��������� � ��� ���������� ��������� ��������� ����������� � ������. �� �������� �������� � ������ �� � ���� ������� DOM (� ������� ��������� ��������� �������������� �����������, ������ ��� ������������ ��� ����������), � � ���� ��������� ���������, ���������� � ����� ����������� ���������� PHP, ������� ��������������� ��������� ��� ����������. ����������, ��� ������� ������ �����, � ������� ������������ API-��������� DOM, ���������� �� ��������� ��������� �� ���� �������� � ������������ ����� ���������, � ������ ���������� ��������� ���� � �� �� �������� � ������ ������ ������������ �����. ��� ��������, ��� SimpleXML � �������� ����� ������������ ����� ����������� ��� ����� PHP ���������� ����� ��������� �� ������ SAX � DOM.

������������� API-���������� SimpleXML

��� ������������� API-���������� SimpleXML ������� � ������� ������� simplexml_load_string() ��� simplexml_load_file() ����������� �������������� � �����-�� ����� (� ���� ������ ��� �����) ��� XML � ������������� ����������. ��� ����� ��������� ��������� ������, ��������������� ��������� � ������� ������. � ������� ���� ��������, ��� ����� ��������� API-��������� SimpleXML ��� ��������� �������� ���������� �� ����� XML � ������� ����� ���� ���������� ����� ����:

������� API-���������� SimpleXML

� ��������� ������� �������� ������ �������� ������ ������� SimpleXML � ������� �� ����������:

����� �������� � �������� SimpleXML

����� �����

� ����� ��������������� �������� ������� ���������� ������ ��������� �����. ����� �������� � ��������� ���������, ��� � ��� ����� ������� ���������� ������ (���������) ��� ����, ����� ��������� � �������� ��������� ������������.

����� ���������� �� ����������� �� ��������� ����� ������� � ����������, ��� � �� ���, ��� ������ ��������� �������� ���������� ���������. ����� ����, ����� ������������ ������� ��� ��������� � �������������� ���������, ��������� � ��������� �������������.

�������� ��������� ������������ ���������� �� JavaScript.

���������� ��������������� ��� �����, ��� ��������� ��� ���������������� � JavaScript.

���������� ������ �� ������ ����������, ��������������� �� ����� ����������� Web-������ www.spravkaweb.ru.

���� ������ ������ ������ �����������: 12:33, 21 ����� 2007.

��� ����� ��� domxml_open_mem

domxml_open_mem — Creates a DOM object of an XML document

Описание domdocument domxml_open_mem ( string str [, int mode [, array &error]] )

The function parses the XML document in str and returns an object of >domxml_open_file() or domxml_new_doc() must be called before any other function calls.

Optional parameter mode can be used to change the behavior of this function. It was added in PHP 4.3.0. See domxml_open_file() for possible values.

If the error parameter is used, it will contain the error messages. error must be passed in by reference . The parameter was added in PHP 4.3.0.

Пример 1. Opening an XML document in a string

if (! $dom = domxml_open_mem ( $xmlstr )) <
echo «Error while parsing the document\n» ;
exit;
>

$root = $dom -> document_element ();
?>

It’s always nice to see just where in the XML the error is so I’ve enhanced the error message example above to this:

// Read and parse dynamic PHP/XML document.
ob_start();
require($_REQUEST[‘page’].’.php’);
$xml = ob_get_contents();
ob_end_clean();
$xmldoc = domxml_open_mem(» = ‘1.0’ encoding = ‘ISO-8859-1’ ?> «.$xml, DOMXML_LOAD_PARSING, $error);
// Show error.
if(!$xmldoc) <
// Assign each line to array.
$arXML = explode(«\n», $xml);

This will actually render +/- 10 lines around the actual error. Hope others will find this usefull aswell.

Regarding the ‘magic_quotes_runtime = On’ issue in XML parsing, I will suggest using the method below, for those who do not want to turn off the setting in the configuration file.

— magic — quotes — runtime — value = get_magic_quotes_runtime ();

your — xml — parsing — codes ();

set_magic_quotes_runtime ( $original — magic — quotes — runtime — value );

A recursive function that parses XML into objects:

$dom = domxml_open_mem ( $xmlstg );
$root = $dom -> document_element ();
$root -> name = ‘$candy’ ;
function parse_node ( $node ) <
global $candy ;
if ( $node -> has_child_nodes ()) <
foreach( $node -> child_nodes () as $n ) <
if ( $n -> node_name () == ‘#text’ ) <
eval( «$node -> name= \» » . $n -> node_value () . «\»;» );
>
else <
$n -> name = $node -> name . ‘->’ . $n -> node_name ();
parse_node ( $n );
>
>
>
>

parse_node ( $root );
echo $candy -> anatomically_shaped -> head_to_bite_off ;
// echos «chocolate bunnies»

There is some interesting feature with «magic_quotes_runtime» ini directive and «domxml_open_mem» function.
If we have «magic_quotes_runtime=on» in out php.ini file, this code generates many warning

$xml_str = file_get_contents($xml_file));
$Document = domxml_open_mem($xml_str));

if «magic_quotes_runtime=off» all is good.

The DOM XML parser does not automatically free memory when a DomDocument goes out of scope.

If you’re using the DOM parser to parse several XML files as part of a long running script, you must free the DomDocument manually or a memory leak will occur.

To free a DOM document allocated by domxml_open_mem, do the following:

Finally figured out the error handling. The sample below will give a nice error message. Should also work for domxml_open_file.

# Small sample xml file with 2 errors
# 1. root tag not closed
# 2. Missing ; in &
$xml = » &amp» ;

$xmldoc = @ domxml_open_mem ( $xml , DOMXML_LOAD_PARSING , $error );

» ; # Just for nice layout
foreach ( $error as $errorline ) < # Loop through all errors
echo $errorline [ ‘errormessage’ ];
echo » Node : » . $errorline [ ‘nodename’ ] . «\n» ;
echo » Line : » . $errorline [ ‘line’ ] . «\n» ;
echo » Column : » . $errorline [ ‘col’ ] . «\n\n» ;
>

You can also create a new DomDocument instance by calling its constructor:

= new DomDocument ( $xml );
?>

where $xml is any string of well-formed XML.

PHP 4.4.9 — domxml_open_mem () �������� �������

� ������� ��� ������ � PHP 4.4.9

��������� ������: ����� �������������� ������� domxml_open_mem () ��� ���������� ��������� ������ $ Dom = domxml_open_mem ($ XMLDATA);

��� � ���� �����, domxml ������� ��� ��� � ������� phpinfo ()?

��� ��������� ��� ������? ����������, ���-������ ��� ������ .

��� �� ��������, ��� ��� ���������: �������� ��������� PHP �� ������, ������� �� ���� ������ � ������� ������ ���, � ��� �������� � ���� ���������� ��� �����.

Илон Маск рекомендует:  Команды mmx ( начиная с pentium mmx, k6 )
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL