xml.php
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 148 行
PHP
148 行
<?php/* vim: set expandtab tabstop=4 shiftwidth=4: */// +----------------------------------------------------------------------+// | PHP version 4 |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2004 The PHP Group |// +----------------------------------------------------------------------+// | This source file is subject to version 3.0 of the PHP license, |// | that is bundled with this package in the file LICENSE, and is |// | available through the world-wide-web at the following url: |// | http://www.php.net/license/3_0.txt. |// | If you did not receive a copy of the PHP license and are unable to |// | obtain it through the world-wide-web, please send a note to |// | license@php.net so we can mail you a copy immediately. |// +----------------------------------------------------------------------+// | Authors: Frederic Poeydomenge <fpoeydomenge at free dot fr> |// +----------------------------------------------------------------------+//// $Id$require_once 'Var_Dump/Renderer/Common.php';/** * A concrete renderer for Var_Dump * * Returns a representation of a variable in XML * DTD : $PEARDIR/data/Var_Dump/renderer-xml.dtd * * @package Var_Dump * @category PHP * @author Frederic Poeydomenge <fpoeydomenge at free dot fr> */class Var_Dump_Renderer_XML extends Var_Dump_Renderer_Common{ /** * Class constructor. * * @param array $options Parameters for the rendering. * @access public */ function Var_Dump_Renderer_XML($options = array()) { $this->setOptions($options); } /** * Returns the string representation of a variable * * @return string The string representation of the variable. * @access public */ function toString() { if (count($this->family) == 1) { return $this->_toString_Single(); } else { return $this->_toString_Array(); } } /** * Returns the string representation of a single variable * * @return string The string representation of a single variable. * @access private */ function _toString_Single() { return '<element>' . '<type>' . htmlspecialchars($this->type[0]) . '</type>' . '<value>' . htmlspecialchars($this->value[0]) . '</value>' . '</element>'; } /** * Returns the string representation of a multiple variable * * @return string The string representation of a multiple variable. * @access private */ function _toString_Array() { $txt = ''; $counter = count($this->family); $depth = 0; for ($c = 0 ; $c < $counter ; $c++) { switch ($this->family[$c]) { case VAR_DUMP_START_GROUP : if ($this->depth[$c] > 0) { $txt .= $this->_spacer($depth) . '<type>group</type>' . "\n" . $this->_spacer($depth++) . '<value>' . "\n"; } $txt .= $this->_spacer($depth) . '<group caption="' . htmlspecialchars($this->value[$c]) . '">' . "\n"; break; case VAR_DUMP_FINISH_GROUP : $txt .= $this->_spacer($depth) . '</group>' . "\n"; if ($this->depth[$c] > 0) { $txt .= $this->_spacer(--$depth) . '</value>' . "\n" . $this->_spacer(--$depth) . '</element>' . "\n"; $depth--; } break; case VAR_DUMP_START_ELEMENT_NUM : case VAR_DUMP_START_ELEMENT_STR : $txt .= $this->_spacer(++$depth) . '<element>' . "\n" . $this->_spacer(++$depth) . '<key>' . htmlspecialchars($this->value[$c]) . '</key>' . "\n"; break; case VAR_DUMP_FINISH_ELEMENT : case VAR_DUMP_FINISH_STRING : $txt .= $this->_spacer($depth) . '<type>' . htmlspecialchars($this->type[$c]) . '</type>' . "\n". $this->_spacer($depth--) . '<value>' . htmlspecialchars($this->value[$c]) . '</value>' . "\n" . $this->_spacer($depth--) . '</element>' . "\n"; break; } } return $txt; } /** * Returns a spacer string to prefix the line * * @param integer $depth Depth level. * @return string Spacer string * @access private */ function _spacer($depth) { return str_repeat(' ', $depth << 1); }}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?