clacy-builders / xml
Clacy Builders XML Express 是一个用于创建 XML 文档的库。
0.1
2016-04-08 15:44 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 18:31:39 UTC
README
安装
XML Express for PHP 需要 PHP 5.4 或更高版本。
将以下内容添加到您的项目 composer.json
文件中
{ "minimum-stability": "dev", "require": { "clacy-builders/xml": "dev-master@dev" } }
运行 composer install
或 composer update
。
没有 Composer
- 下载ZIP 文件。
- 在您的项目目录中创建目录
/vendor/clacy-builders/xml
。 - 从 ZIP 文件中的
xml-express-php-master
文件夹中,将包含的文件复制到之前创建的xml
文件夹中。
替换
require_once 'vendor/autoload.php';
为
require_once 'vendor/clacy-builders/xml/allIncl.php';
基本用法
<?php require_once 'vendor/autoload.php'; use \ClacyBuilders\Xml; class Kml extends Xml { const MIME_TYPE = 'application/vnd.google-earth.kml+xml'; const FILENAME_EXTENSION = 'kml'; const XML_NAMESPACE = 'http://www.opengis.net/kml/2.2'; public static function createKml() { return static::createRoot('kml'); } public function placemark($name, $description, $longitude, $latitude, $altitude = 0) { $pm = $this->append('Placemark'); $pm->append('name', $name); $pm->append('description', $description); $pm->append('Point') ->append('coordinates', $longitude . ',' . $latitude . ',' . $altitude); return $pm; } } $myKml = Kml::createKml(); $myKml->placemark('Cologne Cathedral', 'Cologne Cathedral is a Roman Catholic cathedral in Cologne, Germany.', '50.9413', '6.958'); $myKml->headerfields('cologne-cathedral'); print $myKml;
生成的标记
<?xml version="1.0" encoding="UTF-8" ?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Cologne Cathedral</name> <description>Cologne Cathedral is a Roman Catholic cathedral in Cologne, Germany.</description> <Point> <coordinates>50.9413,6.958,0</coordinates> </Point> </Placemark> </kml>
Adhoc
特性
Adhoc
允许您使用任何未事先定义的方法名来添加 XML 元素或属性。
<?php require_once 'vendor/autoload.php'; use \ClacyBuilders\Xml; use \ClacyBuilders\Adhoc; class Html extends Xml { use Adhoc; const XML_DECLARATION = false; const DOCTYPE = '<!DOCTYPE html>'; const HTML_MODE = true; public static function createHtml($lang = null, $manifest = null) { return static::createRoot('html') ->attrib('lang', $lang) ->setManifest($manifest); } } $html = Html::createHtml('en'); $body = $html->body(); $article = $body->article(); $article->h1('Scripting languages'); $article->p(Html::abbr('PHP')->setTitle('PHP: Hypertext Preprocessor') . ' is a server-side scripting language designed for web development but also used as a general-purpose programming language.'); print $html;
生成的标记
<!DOCTYPE html> <html lang="en"> <body> <article> <h1>Scripting languages</h1> <p><abbr title="PHP: Hypertext Preprocessor">PHP</abbr> is a server-side scripting language designed for web development but also used as a general-purpose programming language.</p> </article> </body> </html>