芝麻web文件管理V1.00
编辑当前文件:/home/qrafawbu/minscoop.com/system/ThirdParty/Kint/Parser/XmlPlugin.php
access_path); if (empty($xml)) { return; } [$xml, $access_path, $name] = $xml; $base_obj = new Value(); $base_obj->depth = $o->depth + 1; $base_obj->name = $name; $base_obj->access_path = $access_path; $r = new Representation('XML'); $r->contents = $this->parser->parse($xml, $base_obj); $o->addRepresentation($r, 0); } protected static function xmlToSimpleXML(string $var, ?string $parent_path): ?array { $errors = \libxml_use_internal_errors(true); try { $xml = \simplexml_load_string($var); } catch (Exception $e) { return null; } finally { \libxml_use_internal_errors($errors); } if (false === $xml) { return null; } if (null === $parent_path) { $access_path = null; } else { $access_path = 'simplexml_load_string('.$parent_path.')'; } $name = $xml->getName(); return [$xml, $access_path, $name]; } /** * Get the DOMDocument info. * * If it errors loading then we wouldn't have gotten this far in the first place. * * @psalm-param non-empty-string $var The XML string * * @param ?string $parent_path The path to the parent, in this case the XML string * * @return ?array The root element DOMNode, the access path, and the root element name */ protected static function xmlToDOMDocument(string $var, ?string $parent_path): ?array { // There's no way to check validity in DOMDocument without making errors. For shame! if (!self::xmlToSimpleXML($var, $parent_path)) { return null; } $xml = new DOMDocument(); $xml->loadXML($var); if ($xml->childNodes->count() > 1) { $xml = $xml->childNodes; $access_path = 'childNodes'; } else { $xml = $xml->firstChild; $access_path = 'firstChild'; } if (null === $parent_path) { $access_path = null; } else { $access_path = '(function($s){$x = new \\DomDocument(); $x->loadXML($s); return $x;})('.$parent_path.')->'.$access_path; } $name = $xml->nodeName ?? null; return [$xml, $access_path, $name]; } }