Maison php教程 php手册 php中simplexml_load_string使用实例分享

php中simplexml_load_string使用实例分享

Jun 06, 2016 pm 08:24 PM
load simplexml string

这篇文章主要介绍了php中simplexml_load_string使用实例,需要的朋友可以参考下

先用一段代码重现一下问题

乍一看,结果很让人费解:

复制代码 代码如下:


$string =
hello
world

EOF;

$data = simplexml_load_string($string);

print_r($data);
print_r($data->foo);
?>

乍一看,结果很让人费解:

复制代码 代码如下:


SimpleXMLElement Object
(
[foo] => Array
(
[0] => SimpleXMLElement Object
(
[bar] => hello
)
[1] => SimpleXMLElement Object
(
[bar] => world
)
)
)
SimpleXMLElement Object
(
[bar] => hello
)

明明print_r显示foo是一个有两个bar元素的数组,但是最后却仅仅显示了一个bar元素!
原因其实很简单,在如上所示simplexml_load_string的结果里,foo并不是数组,,而是一个迭代对象!
可以这样确认:

复制代码 代码如下:


foreach ($data->foo as $v) print_r($v);
foreach ($data->children() as $v) print_r($v);

看来,print_r或者var_dump之类的表象并不完全可信,自己多留心吧。

假如我们获取的XML数据如下:(可以使用curl、fsockopen等方式获取)

复制代码 代码如下:




 你好
 
 Array;Array;Array;
 
  Haven't seen you for a long time. How are you?
  多日不见了,你好吗?
 

 
  Hello! How are you?
  嘿,你好?
 

 
  Hello, Brooks!How are you?
  喂,布鲁克斯!你好吗?
 

 
  Hi, Barbara, how are you?
  嘿,芭芭拉,你好吗?
 

 
  How are you? -Quite well, thank you.
  你好吗?-很好,谢谢你。
 


经过simplexml_load_string得到:

复制代码 代码如下:


SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [num] => 219
            [id] => 219
            [name] => 219
        )

    [key] => 你好
    [pos] => SimpleXMLElement Object
        (
        )

    [acceptation] => Array;Array;Array;
    [sent] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [orig] => Haven't seen you for a long time. How are you?
                    [trans] => 多日不见了,你好吗?
                )

            [1] => SimpleXMLElement Object
                (
                    [orig] => Hello! How are you?
                    [trans] => 嘿,你好?
                )

            [2] => SimpleXMLElement Object
                (
                    [orig] => Hello, Brooks!How are you?
                    [trans] => 喂,布鲁克斯!你好吗?
                )

            [3] => SimpleXMLElement Object
                (
                    [orig] => Hi, Barbara, how are you?
                    [trans] => 嘿,芭芭拉,你好吗?
                )

            [4] => SimpleXMLElement Object
                (
                    [orig] => How are you? -Quite well, thank you.
                    [trans] => 你好吗?-很好,谢谢你。
                )

        )

)

我们在PHP语言中可以用以下方法取得我们想要的值:

复制代码 代码如下:

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Jul 24, 2023 pm 07:55 PM

Convertir les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Dans le développement Java, lorsque nous devons convertir les types de données de base en chaînes, une méthode courante consiste à utiliser la fonction valueOf() de la classe String. Cette fonction peut accepter les paramètres des types de données de base et renvoyer la représentation sous forme de chaîne correspondante. Dans cet article, nous explorerons comment utiliser la fonction String.valueOf() pour les conversions de types de données de base et fournirons quelques exemples de code pour

Comment convertir un tableau de caractères en chaîne Comment convertir un tableau de caractères en chaîne Jun 09, 2023 am 10:04 AM

Méthode de conversion d'un tableau de caractères en chaîne : cela peut être réalisé par affectation. Utilisez la syntaxe {char a[]=" abc d\0efg ";string s=a;} pour laisser le tableau de caractères attribuer directement une valeur à la chaîne et l'exécuter. le code pour terminer la conversion.

Explication détaillée de 2 mots en chaîne, yyds Explication détaillée de 2 mots en chaîne, yyds Aug 24, 2023 pm 03:56 PM

Bonjour à tous, aujourd'hui je vais partager avec vous les connaissances de base de Java : String. Inutile de dire l'importance de la classe String, on peut dire que c'est la classe la plus utilisée dans notre développement back-end, il est donc nécessaire d'en parler.

Utilisez la fonction String.replace() de Java pour remplacer des caractères (chaînes) dans une chaîne Utilisez la fonction String.replace() de Java pour remplacer des caractères (chaînes) dans une chaîne Jul 25, 2023 pm 05:16 PM

Remplacez les caractères (chaînes) dans une chaîne à l'aide de la fonction String.replace() de Java. En Java, les chaînes sont des objets immuables, ce qui signifie qu'une fois qu'un objet chaîne est créé, sa valeur ne peut pas être modifiée. Cependant, vous pouvez rencontrer des situations dans lesquelles vous devez remplacer certains caractères ou chaînes dans une chaîne. À l'heure actuelle, nous pouvons utiliser la méthode replace() dans la classe String de Java pour implémenter le remplacement de chaîne. La méthode replace() de la classe String a deux types :

Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne Jul 25, 2023 am 09:09 AM

Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne. En programmation Java, la chaîne est un type de données très courant. Nous avons souvent besoin d'obtenir la longueur d'une chaîne, c'est-à-dire le nombre de caractères qu'elle contient. En Java, nous pouvons utiliser la fonction length() de la classe String pour obtenir la longueur d'une chaîne. Voici un exemple de code simple : publicclassStringLengthExample{publ

Comment utiliser la classe String de Java Comment utiliser la classe String de Java Apr 19, 2023 pm 01:19 PM

1. Comprendre String1. String dans le JDK Tout d'abord, jetons un coup d'œil au code source de la classe String dans le JDK. Il implémente de nombreuses interfaces. Vous pouvez voir que la classe String est modifiée par final. être hérité et il n'y a pas de sous-classe de la classe String, de sorte que toutes les personnes utilisant JDK utilisent la même classe String. Si String peut être hérité, tout le monde peut étendre String. Tout le monde utilise différentes versions de String. la même méthode montre des résultats différents, ce qui rend impossible le développement du code. L'héritage et le remplacement de méthode apportent non seulement de la flexibilité, mais entraînent également un comportement différent de nombreuses sous-classes.

Comment utiliser la méthode split dans Java String Comment utiliser la méthode split dans Java String May 02, 2023 am 09:37 AM

La méthode split dans String utilise la méthode split() de String pour diviser la chaîne en fonction des caractères ou des chaînes entrants et renvoyer le tableau divisé. 1. Utilisation générale Lors de l'utilisation de caractères généraux, tels que @ ou, comme séparateurs : Stringaddress="Shanghai@Shanghai City@Minhang District@Wuzhong Road";String[]splitAddr=address.split("@");System .out. println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3

Compétences en matière de conversion d'octets, de runes et de types de chaînes Golang Compétences en matière de conversion d'octets, de runes et de types de chaînes Golang May 17, 2023 am 08:21 AM

Dans la programmation Golang, les types octet, rune et chaîne sont des types de données très basiques et courants. Ils jouent un rôle important dans le traitement des opérations de données telles que les chaînes et les flux de fichiers. Lors de l'exécution de ces opérations de données, nous devons généralement les convertir les unes aux autres, ce qui nécessite la maîtrise de certaines compétences de conversion. Cet article présentera les techniques de conversion de types d'octets, de runes et de chaînes des fonctions Golang, dans le but d'aider les lecteurs à mieux comprendre ces types de données et à être capables de les appliquer habilement dans la pratique de la programmation.

See all articles