Heim > Artikel > Backend-Entwicklung > XML-Betrieb der PHP-Erweiterung (2) – Installation und Übersicht über den XML-Parser
XML (eXtensible Markup Language) ist ein A-Datenformat für die Interaktion mit strukturierten Dokumenten. Es handelt sich um einen von der Internet Society (W3C) definierten Standard. Informationen zu XML und verwandten Technologien finden Sie unter http://www.php.cn/.
Diese PHP-Erweiterungsimplementierung unterstützt Expat, geschrieben in PHP von James Clark. Dieses Toolkit kann XML-Dokumente analysieren (aber nicht validieren). Es unterstützt drei von PHP bereitgestellte Zeichenkodierungen: US-ASCII, ISO-8859-1 und UTF-8. UTF-16 wird nicht unterstützt.
Diese Erweiterung erstellt einen XML-Parser und definiert Handler für verschiedene XML-Ereignisse. Jeder XML-Parser verfügt außerdem über eine Handvoll Parameter, die angepasst werden können.
Diese Erweiterung erfordert die PHP-Erweiterung libxml. Das bedeutet, dass --enable-libxml verwendet werden muss, obwohl dies implizit erfolgt, da libxml standardmäßig aktiviert ist.
Standardmäßig verwendet diese Erweiterung die Expat-Kompatibilitätsschicht. Sie können auch expat verwenden. Diese Bibliothek befindet sich unter http://www.php.cn/. Durch die Verwendung des Makefiles in der Expat-Bibliothek wird die Bibliotheksdatei standardmäßig nicht erstellt. Sie können zum Erstellen die folgenden Build-Regeln verwenden:
libexpat.a: $(OBJS) ar -rc $@ $(OBJS) ranlib $@
Das Quellcode-RPM-Installationspaket von expat finden Sie unter http://www.php.cn/.
Diese Erweiterung ist standardmäßig aktiviert und kann beim Kompilieren über die folgenden Optionen deaktiviert werden: --disable-xml
Diese Funktionen sind standardmäßig aktiviert und verwenden die gebündelte Expat-Bibliothek. Sie können die XML-Unterstützung über den Parameter --disable-xml deaktivieren. Wenn Sie PHP als Modul mit Apache 1.3.9 oder höher kompilieren, verwendet PHP automatisch die mit Apache gebündelte Expat-Bibliothek. Wenn Sie die mitgelieferte Expat-Bibliothek nicht verwenden möchten, verwenden Sie bitte den Parameter --with-expat-dir=DIR, wenn Sie das Konfigurationsskript „configure“ von PHP ausführen, wobei DIR auf das Stammverzeichnis der Expat-Installation verweisen sollte .
Die Windows-Version von PHP bietet integrierte Unterstützung für diese Erweiterung. Um diese Funktionen nutzen zu können, müssen keine zusätzlichen Erweiterungen geladen werden.
Die Definition des XML-Ereignishandlers lautet wie folgt:
PHP 处理器函数 | 事件描述 |
---|---|
xml_set_element_handler() | 当 XML 解析器遇到开始或结束标签时,会触发元素事件。 开始标签和结束标签有不同的处理器。 |
xml_set_character_data_handler() | 字符数据范指 XML 文档中所有非标记的内容,包括标签之间的空格。 注意,XML 解析器不会添加或删除任何空格,由应用程序(你)来判断空格是否有意义。 |
xml_set_processing_instruction_handler() | PHP 程序员必须熟练掌握处理指令(PI)。是处理指令, 其中php被称为“处理指令对象”。 除所有以“XML”开头的处理指令对象是系统保留的外, 其他的处理函数均是由应用程序指定的。 |
xml_set_default_handler() | 不执行其他处理函数,则会执行缺省的处理函数。 在缺省的处理函数中可取得如 XML 和文档类型声明等信息。 |
xml_set_unparsed_entity_decl_handler() | 未解析的实体声明(NDATA)会调用此处理函数。 |
xml_set_notation_decl_handler() | 符号声明会调用此处理函数 |
xml_set_external_entity_ref_handler() | 当 XML 解析器发现对外部已解析的普通实体的引用时, 会调用此处理函数。例如,引用一个文件或URL。实例可参见 XML 外部实体例程。 |
Die Elementverarbeitungsfunktion kann den Elementnamen in Groß- und Kleinschreibung umwandeln. Die Groß-/Kleinschreibung ist definiert als „eine Zeichenfolgenoperation, die Nicht-Großbuchstaben durch die entsprechenden Großbuchstaben ersetzt“. Mit anderen Worten: In XML wird die Groß-/Kleinschreibung in Großbuchstaben umgewandelt.
Standardmäßig werden alle durch den Handler übergebenen Elementnamen in Großbuchstaben umgewandelt. Jeder XML-Parser kann diese Funktion über die Funktionen xml_parser_get_option() bzw. xml_parser_set_option() abfragen und steuern.
Die folgenden Konstanten sind XML-bezogene Fehlercodes (Rückgabewerte der Funktion xml_parse()):
XML_ERROR_NONE
XML_ERROR_NO_MEMORY
XML_ERROR_SYNTAX
XML_ERROR_NO_ELEMENTS
XML_ERROR_INVALID_TOKEN
XML_ERROR_UNCLOSED_TOKEN
XML_ERR. OR_PARTIAL_CHAR
XML_ERROR_TAG_MISMATCH
XML_ERROR_DUPLICATE_ATTRIBUTE
XML_ERROR_JUNK_AFTER_DOC_ELEMENT
ML_ERROR_UNDEFINED_ENTITY
>
XML_EXTERNAL_EXTITY_HANDLING
Mehrere Unterschiede Die Zeichenkodierung unterstützt den Unicode-Zeichensatz. Es gibt zwei Arten von Zeichenkodierungen: Originalkodierung und Zielkodierung. In der internen Darstellung von PHP werden Dokumente immer in UTF-8 kodiert.
Wenn PHP die Daten an die XML-Verarbeitungsfunktion übergibt, ist die Zielkodierung abgeschlossen. Beim Erstellen eines XML-Prozessors wird die Zielcodierung auf die ursprüngliche Codierung festgelegt, kann jedoch nach Belieben geändert werden. Die Zielkodierung wirkt sich auf Zeichendaten und Tag-Namen sowie auf Verarbeitungsanweisungsziele aus.
Das Obige ist die XML-Operation der PHP-Erweiterung (2) – XML-Parser-Installation und Übersicht. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!