ホームページ  >  記事  >  php教程  >  PHP のクラス - XML の操作(1)

PHP のクラス - XML の操作(1)

WBOY
WBOYオリジナル
2016-06-21 09:02:02800ブラウズ

http://www.hansanderson.com/ 私


/*
(c) 2000 Hans Anderson Corporation.  無断転載を禁じます。
PHP ライセンスに記載されているのと同じ
ガイドラインに基づいて、このクラスを自由に使用および変更できます。

-----------

bugs/me:
http://www.hansanderson.com/php/
me@hansanderson.com

-----------

バージョン 1.0

- 1.0 は、クラスの最初の実際のリリースです。  
ついに私が期待していたものになりましたが、
まだバグが残っている可能性があります。  これは
大幅に変更されたバージョンです。
以前のバージョンをダウンロードしている場合、これは既存の
スクリプトでは動作しません。  いくつかの簡単な変更を加える必要があります。

- .92 でタグ属性が含まれていないバグが修正されました

(属性を使用するには、問題のタグの末尾に _attributes[array_index]

$ xml_html_head_body_img は
$xml_html_head_body_img_attributes[0],
-- Nick Winfield に感謝します。
このバグを報告してください。

- .91 PHP4 は不要になりました。

-.91 では、すべての要素が配列になりました。  オブジェクトの使用は
廃止されました。

-----------

class.xml.php とは:

とてもとても使いやすい XML パーサー クラスです。 PHP の XML 関数
を使用して、すべてのタグ情報を含む 1 つの配列を返します。  
唯一難しい部分は、タグの構文を理解することです。

-----------

使用例:

require('class.xml.php');
$file = "data.xml";
$data = implode("",file($file)) または die("XML 入力ファイルを開けませんでした");
$obj = new xml($data,"xml");


print $xml["hans"][0]->num_results[0];
for($i=0;$i print $xml["hans"][$i]->tag[0] 。 " ";
}

URL 属性を出力するには (存在する場合):

print $xml["hans"][0]->attributes[0]["size"]; # ここで「size」は属性名でした

(それだけです! 巧妙ですね?)
-----------

xml クラスを呼び出す 2 つの方法:

$xml = new xml($data);
- または -
$xml = new xml($data,"jellyfish");

2 番目の引数 (jellyfish) はオプションです。  デフォルトは「xml」です。
2 番目の引数は、返される配列
に「xml」以外の名前を付ける機会を与えるだけです (すでに
その名前を使用している場合)。  通常の PHP 変数名の規則が適用されます。

----------

xml クラスの説明:

このクラスは有効な XML データを引数として受け取り、
すべての情報を返します複雑だがループ可能な配列で。

仕組みは次のとおりです:

データ:



ハンス アンダーソンの XML クラス





私のクラスでデータを実行し、次のようにタイトルにアクセスします。
$xml["html_head"][0]->title[0];

       または、ループします:
for($i=0;$i print $xml["html_head"][$i]- >タイトル[0] 。 " ";
}

はい、変数名は*長くて複雑ですが、
ツリーを作成する最良の方法です、IMO。


これは、ある class.xml.php ユーザーに私が送った複雑な説明です。

---------

>ここで別の問題に遭遇しました:
>
> <ストーリータイムスタンプ="2000-12-15T20:08:00,0">
>

市場

> 作成者: アーロン L. タスク
シニア
>ライター

>
>
> BYLINE_AUTHOR を取得するにはどうすればよいですか?

print $xml["STORY_BYLINE"][0]->BYLINE_AUTHOR[0];

>ちょっとした質問ですが、TIMESTAMP を簡単に取得する方法はありますか?

print $xml["STORY"][0]->attributes[0]["TIMESTAMP"];

これは紛らわしいと思いますが、
これを実際に実行できる唯一の方法です。  概要は次のとおりです:

$xml 部分は配列、つまり配列の配列です。  最初の配列は

です。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。