2011-06-27 15 views
0

OKこれまでのタグ属性を使用していましたが、タグの実際の内容を変数として保存する場合はどうすればよいでしょうか?SimpleXMLタグの内容を変数として保存

たとえば、以下の例では、「John」を変数に保存する方法はありますか?

<person> 
    <name>John</name> 
</person> 

ありがとう!

答えて

1

あなたはPHPでSimpleXMLについて話していますか?

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8" ?><person><name>John</name></person>'); 
$john = $xml->name ; 
echo $john ; 

私たちは私たちの例ではなく、$xml->person->name$xml->nameを使用する理由は、SimpleXMLのは:)を念頭に置いて(価値ルート要素を想定することです。実際の例では、XMLは異なるルート要素を持っていて、おそらくいくつかは<person>の要素を持ち、配列の表記法で得ることができます。

$james = $xml->person[4]->name ; 

Aより強力な方法は、より良いが、複雑なXMLを扱うために探して価値があるXpathを使用することです。

$ john = $ xml-> xpath( 'person/name');

1

PHPを使用して、このような方法でそれを行うことができます: -

<?php 
$xmlstr = <<<XML 
<person> 
    <name>John</name> 
</person> 
XML; 

$xml = new SimpleXMLElement($xmlstr); 
$name_person = $xml->name; 

// If you are unsure about the node string, then it's best to write it as:- 
$name_person = $xml->{'name'}; 
/** 
* This above statement will take care if the node string contain characters not permitted under PHP's naming convention (e.g. the hyphen) can be accomplished by encapsulating the element name within braces and the apostrophe. 
*/ 
?> 

詳細情報はhere可能です。

希望します。

関連する問題