Heim >Backend-Entwicklung >PHP-Tutorial >Wie greife ich mit SimpleXML auf XML-Knoten mit Bindestrich zu?

Wie greife ich mit SimpleXML auf XML-Knoten mit Bindestrich zu?

Barbara Streisand
Barbara StreisandOriginal
2024-12-29 07:33:11808Durchsuche

How to Access Hyphenated XML Nodes Using SimpleXML?

XML-Knoten mit getrennten Namen mithilfe von SimpleXML lesen

Das Lesen von XML-Knoten mit getrennten Namen mithilfe von SimpleXML kann schwierig sein. Die native SimpleXML-Bibliothek erwartet, dass Knoten speziell ein Doppelpunkt für Namespaces vorangestellt (und in Großbuchstaben umgewandelt) und als untergeordnete Elemente des aktuell geladenen XML-Stammelements behandelt werden.

Um beispielsweise auf das document-meta Knoten im bereitgestellten XML:

<?xml version="1.0" encoding="UTF-8"?>
<gnm:Workbook xmlns:gnm="http://www.gnumeric.org/v10.dtd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gnumeric.org/v9.xsd">
<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" office:version="1.1">
<dc:creator>Mark Baker</dc:creator>
<dc:date>2010-09-01T22:49:33Z</dc:date>
<meta:creation-date>2010-09-01T22:48:39Z</meta:creation-date>
<meta:editing-cycles>4</meta:editing-cycles>
<meta:editing-duration>PT00H04M20S</meta:editing-duration>
<meta:generator>OpenOffice.org/3.1$Win32 OpenOffice.org_project/310m11$Build-9399</meta:generator>
</office:meta>
</office:document-meta>
</gnm:Workbook>
Anstatt zu verwenden $xml->children($namespacesMeta['office']), verwenden Sie:

$officeXML = $xml->children($namespacesMeta['office'])->{’document-meta’};
Dies greift entsprechend auf den Dokument-Meta-Knoten und seine untergeordneten Elemente zu.

Beachten Sie, dass dies nur der Fall ist gilt für den Zugriff auf XML-Elemente mit Bindestrich. Auf Attributknoten kann normalerweise mit der @attributes-Array-Notation zugegriffen werden.

Weitere Klarheit zum Zugriff auf Elemente mit speziellen Namen in XML mithilfe von SimpleXML finden Sie in der Dokumentation unter:

[SimpleXML-Grundlagen](https://www.php.net/manual/en/simplexml.intro-example.php)

Das obige ist der detaillierte Inhalt vonWie greife ich mit SimpleXML auf XML-Knoten mit Bindestrich zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn