0

PHPを使用してxmlファイルから特別なタイプの子を取得する方法を探しています。xml:

<notify type="post" name="Max" /> 

そこから名を馳せたい。私のコード: `$sender =

    $sender = $node->getChild('notify');
    $sender = $sender->getChild('name');
    $sender = $sender->getData();

しかし、私が期待したように、それはそのようには機能していません。助けてくれてありがとう

4

1 に答える 1

0

式を使用xpathして、ジョブを実行できます。これは、XML の SQL クエリに似ています。

$results = $xml->xpath("//notify[@type='post']/@name");

の XML を想定すると$xml、式は次のようになります。

select all notify nodes, 
where their type-attribute is post,
give back the name-attribute.

$resultsは配列になり、私のコード例はsimplexml. ただし、同じものxpath-expressionを使用できDOMます。

完全なコードは次のとおりです。

$x = <<<XML
<root>
    <notify type="post" name="Max" /> 
    <notify type="get" name="Lisa" /> 
    <notify type="post" name="William" /> 
</root>
XML;

$xml = simplexml_load_string($x);
$results = $xml->xpath("//notify[@type='post']/@name");
foreach ($results as $result) echo $result . "<br />";  

出力:

Max
William

動作を確認してください: http://codepad.viper-7.com/eO29FK

于 2013-10-06T18:41:06.037 に答える