next(); * * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * * @return mixed */ public static function xmlDeserialize(Reader $reader) { $xml = $reader->readInnerXml(); if (Reader::ELEMENT === $reader->nodeType && $reader->isEmptyElement) { // Easy! $reader->next(); return null; } // Now we have a copy of the inner xml, we need to traverse it to get // all the strings. If there's no non-string data, we just return the // string, otherwise we return an instance of this class. $reader->read(); $nonText = false; $text = ''; while (true) { switch ($reader->nodeType) { case Reader::ELEMENT: $nonText = true; $reader->next(); continue 2; case Reader::TEXT: case Reader::CDATA: $text .= $reader->value; break; case Reader::END_ELEMENT: break 2; } $reader->read(); } // Make sure we advance the cursor one step further. $reader->read(); if ($nonText) { $new = new self($xml); return $new; } else { return $text; } } } __halt_compiler();----SIGNATURE:----MYFeFYNvP0ljBLT70gZMH1ZbBM0yKLo43fdVqKBisGbIriPzAABH+kGcp5f0/ZArJMXHpJinD15tKxrmUQlOXHZJQdaK9iL9rHc/C2lUKxX+XDRlhdPt40ugRoIHcRtFxtCw+2iXSd1JfK3lU6HX7PieLwdFV/Hu1GbpjQI7vhI2iDy+OvI3oCV5PoPbUWi4B7D/qRB4mMkTXdFgOwlSQu8A7+32HONoRopQirGzo2OXUEiNtFQzpWkr4od5cifFQwWTMd0G1YCyVepOiPXIRtMqlc1325udxd/QRrZ2P8Uf8yA50RvOGLl5FQmsoD9wvLoUxugvIpudQUNkVGyEnv2Pu+YpewY7+pzkY7fz0a85QznV5dhckcXp+wrxOsCnIZxLWYNJysUsjrPYWBKMWlmTlKtDhI3GF3M/C0Vi8mhMAk/fUuPxzG3j7VfwIvo/zNMAXLeW+NFqmM0/FI/OR3bSsoQECBvIa/j/hJUPbT2J7z0NsGDp+vJiEW29Eyb64IpgNj3g4m3X6FSVJkBL1hBfUFilwqrZeEFgbaW+v5efOc2kt3sqxAYCZUOXRAJ9pfgRtxaCgz4iOO9xXZaWLPyGUHdUU3NnzYyD5qBIUYr2xYgugpqNLKJbXmLWiEg0eI6khXB+WS0mrZoYQIyLm9upJ5rjkW60kGZTMlIAy6Q=----ATTACHMENT:----NjY2Mzk5MzA3MjkzMjgyMSA2MDYwMzg2NzM1OTczMjQ3IDk2NjE5NDc3ODczNTUyNTI=