Maison >développement back-end >tutoriel php >Comment accéder aux nœuds XML avec trait d'union à l'aide de SimpleXML ?

Comment accéder aux nœuds XML avec trait d'union à l'aide de SimpleXML ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-29 07:33:11813parcourir

How to Access Hyphenated XML Nodes Using SimpleXML?

Lecture de nœuds XML avec des noms avec trait d'union à l'aide de SimpleXML

La lecture de nœuds XML avec des noms avec trait d'union à l'aide de SimpleXML peut être délicate. La bibliothèque native SimpleXML s'attend à ce que les nœuds soient spécifiquement préfixés par deux points pour les espaces de noms (et convertis en lettres majuscules) et traités comme un enfant de l'élément racine XML actuellement chargé.

Par exemple, pour accéder au document-meta nœud dans le XML fourni :

<?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>

Au lieu d'utiliser $xml->children($namespacesMeta['office']), utilisez :

$officeXML = $xml->children($namespacesMeta['office'])->{’document-meta’};

Cela accédera au nœud document-meta et à ses enfants en conséquence.

Notez que ceci uniquement s'applique à l'accès aux éléments XML avec trait d'union. Pour les nœuds d'attribut, ils sont normalement accessibles en utilisant la notation de tableau @attributes.

Pour plus de clarté sur l'accès aux éléments avec des noms spéciaux en XML à l'aide de SimpleXML, reportez-vous à la documentation à l'adresse :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn