PHP5のSimpleXMLは便利なものだ。
だけどはまったんです。ごめんなさい。
文字列型にキャストしないとテキストが取れなかった。そういうもんなのですか。
<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that's the answer -- but what's the question?
</body>
</document>
XML;
$xml = simplexml_load_string($string);
$stringArray = array();
$stringArray[] = (string)$xml->body;
?>
最後のキャストをしないと$stringArrayにSimpleXMLオブジェクトが入っちゃうわけで。まあ、そりゃそうか。
しかし、キャストでいいのか?って話。いいような気がする。
以上
http://php.oss.eznetsols.org/manual/ja/ref.simplexml.php
の“Example#6 要素および属性をテキストと比較する”に
「(string) により文字列にキャストする 必要があります」って書いてあるからいいんじゃないでしょうか。
なんと。
ウェブのヘルプまで見てなかった。ヘルプ形式のマニュアルには書いてなかったぞ、PHP!
ありがとん。