軽量の XML ドキュメント生成クラス
xml
PHP 番号:---------------------------------------------- ---------------------------------
/**
* 軽量 XML 文書生成クラス (非 dom)
* 作成者: q3boy
* バージョン: v0.1 aplha
* 更新: 2003/9/8
* 要素/CDATA/ 宣言をサポート/attribute/Comment、オプションで改行とインデントを含めます
*/
class xml {
/**要素名*/
var $name;
/**要素の値*/
var $value;
/**要素の種類*/
var $type;
/**要素の属性 */
var $attrib;
/**XML宣言*/
var $declare;
/**インデントと折り返しを行うかどうか*/
var $space;
/**コンストラクタ*/
function xml($ name='',$value='') {
$this->name = $name;
$this->value = $value;
$this->declare = array();
$this- >setTypes('Element');
$this->setAttrib(array());
$this->setSpace(false);
}
/**要素タイプの設定*/
function setTypes($ type) {
$this->type = $type;
}
/**行のインデントと折り返しを行うかどうかを設定します*/
function setSpace($space) {
$this->space = $space;
}
/ **要素のプロパティを設定する*/
function setAttrib($name,$value='') {
if(is_array($name)) {
$this->attrib = array_merge($this->attrib,$name) );
}else {
$this->attrib[$name] = $value;
}
}
/**子要素を追加する*/
function &addElement($name='',$value='' ) {
if(!is_array($this->value)) {
$this->value = array();
}
$xml = new xml($name,$value);
$xml-> ;setSpace($this->space);
$this->value[] = &$xml;
return $this->value[sizeof($this->value)-1];
}
/**CDATAデータの追加*/
function &addCDATA($name='',$value='') {
if(!is_array($this->value)) {
$this->value = 配列();
}
$xml = new xml($name,$value);
$xml->setSpace($this->space);
$xml->setTypes('CDATA');
$ this->value[] = &$xml;
return $this->value[sizeof($this->value)-1];
}
/**XML宣言を追加*/
function &addDeclare( $name='',$value='') {
if(!is_array($this->declare)) {
$this->value = array();
}
$xml = new xml($ name,$value);
$xml->setSpace($this->space);
$xml->setTypes('Declare');
$this->declare[] = &$xml;
return $this->declare[sizeof($this->value)-1];
}
/**コメントテキストを追加する*/
function &addComment($content='') {
if(!is_array( $this->value)) {
$this->value = array();
}
$xml = new xml($content);
$xml->setSpace($this->space);
$xml->setTypes('Comment');
$this->value[] = &$xml;
return $this->value[sizeof($this->value)-1];
}
/**XML テキスト ストリームを返す*/
function toString($itm='',$layer=0) {
if(!is_object($itm))$itm = &$this;
/* 换行/缩进 */
if($this->space) {
$tab = str_repeat(" ",$layer);
$tab1 = str_repeat(" ",$layer+1);
$br = "n";
}
/*&*/
for($i=0; $i
$out = "".$itm->declare[$i]->name;
foreach($itm->declare[$i]->attrib as $key= >$val) {
$out .=" $key="".$this->encode($val).""";
}
$out.="?>$br";
}
/* 文档树 */
switch($itm->type) {
case 'CDATA':
case 'Element':
$out .= $tab.'<'.$itm->name;
foreach($itm->attrib as $key=>$val) {
$out .=" $key="".$this->encode($val).""";
}
if (is_array($itm->value)) {
$out .='>'.$br;
for($i=0; $i
$out .=$this->toString(&$itm->value[$i],$layer+1);
}
$out .= $tab.''.$itm->name.'>'.$br;
}elseif($itm->value!='') {
$out .= '>'.$br.$this->encode($itm->value,$itm->type,$tab1,$br).$br.$tab.''.$itm ->name.'>'.$br;
}else {
$out .=' />'.$br;
}
Break;
case 'コメント':
$out .= '< !--'.$br.$itm->name.$br.'-->'.$br;
Break;
}
return $out;
}
/**XMLファイルを生成する*/
関数 toFile($file) {
$fp = fopen($file,'w');
fwrite($fp,trim($this->toString()));
fclose($fp);
}
/**エンティティ参照の変換*/
function encode($content,$type='Element',$tab1='',$br='') {
if($type=='Element') {
return $tab1.strtr($content,array('>'=>'<','<'=>'>','&'=>'&','"'=> ;'"',"'"=>'''));
}elseif($type=='CDATA') {
return '',$content).$br.']]>';
}
}
}
/* example */
/* 对象初始化 */
$xml = new xml('test');
/* 允许输出换行/缩进 */
$xml->setSpace(true);
/* 设置xml指示 */
$d = &$xml-> addDeclare('xml');
$d->setAttrib("version","1.0");
/* 设置xml文档树 */
$xml1 = &$xml->addElement('test1', 'test1-1');
$xml1->addElement('test2','test2-1');
$x2 = &$xml1->addElement('test3','test2-2');
$x2->setAttrib("asd","1&234'"23");
$xml1->addElement('test4','test2-3');
$xml->addElement ('test455','taadsfa<><>fdsadest2-3');
$xml->addComment('adsfadsf');//注释
/* CDATAデータベース */
$xml->addCDATA ('cdname','dflkgmsglsd
f]gl
sdgl
asgl
sf"&ldgsldkfg]]>
sldf
gsdfgsD?FG>S
$x1 = &$xml->addElement('test455');
$x1->setAttrib("asd",123423);
$xml->setAttrib(array("asd"=>123,'sdfgdfg' =>2341));
$xml->setAttrib("asd",123423);
/* 出力文件 */
$xml->tofile('aaa.xml');
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

XML ファイルは PPT で開くことができますか? XML、Extensible Markup Language (Extensible Markup Language) は、データ交換とデータ ストレージで広く使用されている汎用マークアップ言語です。 HTML と比較して、XML はより柔軟であり、独自のタグとデータ構造を定義できるため、データの保存と交換がより便利で統一されます。 PPT (PowerPoint) は、プレゼンテーションを作成するために Microsoft によって開発されたソフトウェアです。包括的な方法を提供します。

Python を使用した XML データのマージと重複排除 XML (eXtensibleMarkupLanguage) は、データの保存と送信に使用されるマークアップ言語です。 XML データを処理するとき、複数の XML ファイルを 1 つにマージしたり、重複データを削除したりする必要がある場合があります。この記事では、Python を使用して XML データのマージと重複排除を実装する方法と、対応するコード例を紹介します。 1. XML データのマージ 複数の XML ファイルがある場合、それらをマージする必要があります。

Python の XML データを CSV 形式に変換する XML (ExtensibleMarkupLanguage) は、データの保存と送信に一般的に使用される拡張可能なマークアップ言語です。 CSV (CommaSeparatedValues) は、データのインポートとエクスポートに一般的に使用されるカンマ区切りのテキスト ファイル形式です。データを処理するとき、分析や処理を容易にするために、XML データを CSV 形式に変換する必要がある場合があります。 Pythonは強力です

Python を使用した XML データのフィルタリングと並べ替えの実装 はじめに: XML は、データをタグと属性の形式で保存する、一般的に使用されるデータ交換形式です。 XML データを処理するとき、多くの場合、データのフィルタリングと並べ替えが必要になります。 Python には、XML データを処理するための便利なツールとライブラリが多数用意されています。この記事では、Python を使用して XML データをフィルタリングおよび並べ替える方法を紹介します。 XML ファイルの読み取り 始める前に、XML ファイルを読み取る必要があります。 Python には XML 処理ライブラリが多数ありますが、

Python は XML と JSON 間の変換を実装します はじめに: 日常の開発プロセスでは、異なる形式間でデータを変換する必要があることがよくあります。 XML と JSON は一般的なデータ交換形式であり、Python ではさまざまなライブラリを使用して XML と JSON の間で変換できます。この記事では、一般的に使用されるいくつかの方法をコード例とともに紹介します。 1. Python で XML を JSON に変換するには、xml.etree.ElementTree モジュールを使用できます。

Python を使用した XML でのエラーと例外の処理 XML は、構造化データの保存と表現に使用される一般的に使用されるデータ形式です。 Python を使用して XML を処理すると、エラーや例外が発生することがあります。この記事では、Python を使用して XML のエラーと例外を処理する方法を紹介し、参考用のサンプル コードをいくつか示します。 Try-Except ステートメントを使用して XML 解析エラーを捕捉する Python を使用して XML を解析すると、時々、次のようなエラーが発生することがあります。

Python は XML 内の特殊文字とエスケープ シーケンスを解析します XML (eXtensibleMarkupLanguage) は、異なるシステム間でデータを転送および保存するために一般的に使用されるデータ交換形式です。 XML ファイルを処理する場合、特殊文字やエスケープ シーケンスが含まれる状況に遭遇することが多く、これにより解析エラーやデータの誤解が生じる可能性があります。したがって、Python を使用して XML ファイルを解析する場合は、これらの特殊文字とエスケープ シーケンスの処理方法を理解する必要があります。 1. 特殊文字と
