ホームページ > バックエンド開発 > PHPチュートリアル > PHP は XML を操作します。XML は一般的に使用されます

PHP は XML を操作します。XML は一般的に使用されます

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-29 09:10:46
オリジナル
864 人が閲覧しました

1. 一般的なプロトコルを理解します:
FTP (ファイル転送プロトコル): リモート ファイル転送プロトコル。これにより、ユーザーはリモート ホスト上のファイルを自分のコンピュータにコピーできます。
SMTP (簡易メール転送プロトコル): 電子メールの転送に使用される簡易郵便転送プロトコル。
NFS (ネットワーク ファイル サーバー): 複数のコンピューターが相互のディレクトリに透過的にアクセスできるようにするネットワーク ファイル サーバー。
HTTP ハイパーテキスト転送プロトコル:
HTTP は、アプリケーション層に属する オブジェクト指向 プロトコルであり、そのシンプルで高速な方法により、分散ハイパーメディア情報システムに適しています。これは 1990 年に提案され、数年間の使用と開発を経て継続的に改善および拡張されてきました。 HTTP/1.0 の 6 番目のバージョンが現在 WWW で使用されており、HTTP/1.1 の標準化作業が進行中です。HTTP プロトコルの主な機能は次のように要約できます。
1. クライアント/サーバー モードをサポートします。
2. シンプルかつ高速: クライアントがサーバーにサービスをリクエストする場合、リクエストのメソッドとパスを送信するだけで済みます。一般的に使用されるリクエスト メソッドは、GET、HEAD、および POST です。各メソッドは、クライアントとサーバー間の異なるタイプの接続を指定します。
HTTPプロトコルがシンプルなため、HTTPサーバーのプログラムサイズは小さく、通信速度は非常に高速です。
3. 柔軟性: HTTP では、あらゆる種類のデータ オブジェクトの送信が可能です。転送されるタイプは Content-Type によってマークされます。
4. 接続なし: 接続なしの意味は、各接続が 1 つのリクエストのみを処理するように制限することです。サーバーはクライアントの要求を処理し、クライアントの応答を受信した後、切断します。この方法により、送信時間が節約されます。
5. ステートレス: HTTP プロトコルはステートレス プロトコルです。ステートレスとは、プロトコルにトランザクション処理のためのメモリ機能がないことを意味します。ステータスがないということは、後続の処理で以前の情報が必要な場合にその情報を再送信する必要があることを意味し、その結果、接続ごとに転送されるデータ量が増加する可能性があります。一方、事前の情報が必要ない場合、サーバーはより速く応答します。
2. XML を理解する:
XML (Extensible Markup Language) が 1998 年 2 月にソフトウェア業界に導入されたとき、業界全体に衝撃を与えました。世界は初めて、Web 上だけでなくあらゆる場所でドキュメントとデータを構造化するための普遍的で適応可能な形式を手に入れました。
XML は拡張マークアップ言語を指します。
HTML はハイパーテキスト マークアップ言語を指します。
php はハイパーテキスト前処理言語を指します。
xml は、異なるプラットフォームと異なる言語の間の通信ブリッジを提供します。
xml は、基本的にデータの構造を記述するために使用されます。
xml には厳密な文法規則があります。
xml は最初に宣言する必要があります。 ;?xml version="1.0"coding="utf-8" ?>
xml はルート要素を作成する必要があります
xml 内のすべての要素はペアで表示する必要があります
xml では大文字と小文字が区別されます
xml 要素のネストは正しい必要があります
xml 要素の属性含めるには "" を使用する必要があります
XML ドキュメントは自己記述的で単純な構文を使用します。XML ドキュメントの最も基本的なコンポーネントには、宣言、処理命令 (オプション)、要素が含まれます。以下は単純な



; 私のウェブページ
lyle_zhang
これがコンテンツです@!素晴らしい2013年! 学生の皆さんが理想の就職先を見つけられることを願っています!

説明:
ドキュメント宣言

xml タグは、それが XML ドキュメントであることを示し、その後に続きます。 by 2 つの属性値は、そのバージョン番号とエンコード標準を示し、スタンドアロンはファイルが他の外部 XML ファイルを参照しないことを示します。
3. xml に関連する Web サービス。
xml Web サービスは、インターネット上の分散コンピューティングの基本的な構成要素です。オープン スタンダードと、ユーザーとアプリケーション間の通信とコラボレーションへの重点により、XML Web サービスがアプリケーション統合のプラットフォームとなる環境が生まれました。
xML Web サービスはインターフェースを詳細に指定できるため、ユーザーは通信するクライアント アプリケーションを作成できます。
xML Web サービスは、標準の Web プロトコルを通じて Web ユーザーに便利な機能を提供します。ほとんどの場合、SOAP プロトコルが使用されます。
soapはXML Webサービスの通信プロトコルです。
4. xml html xhtml dhtml の違い:
XML と HTML の設計の違いは次のとおりです:
XML は、データ自体に重点を置いてデータを保存するために使用されます。
HTML は、データの表示モードに焦点を当ててデータを定義するために使用されます
XHTML (Extensible HyperText Markup Language) は、実際には HTML のアップグレードされたバージョンです。このバージョンの目的は、人々が XML を受け入れやすくすることです。XML は、本質的に、XML の強力な機能の一部と、XML の単純な機能のほとんどを組み合わせた過渡的なテクノロジであるためです。 HTML。
DHTML: 正確に言うと、DHTML は Web ページを作成するための概念にすぎません。実際、いわゆる DHTML 標準または技術仕様を発表した組織や機関はありません。 DHTML はテクノロジー、標準、または仕様ではありません。DHTML は、既存の Web ページ テクノロジーと言語標準を統合および適用して、ダウンロード後にページ要素の効果をリアルタイムで変更できる Web ページを作成する単なる設計概念です。 DHTML はオリジナルのテクノロジーに基づいており、次の 3 つの側面に分けることができます。
まず、HTML、これはページ内のさまざまなページ要素オブジェクトであり、動的に操作されるコンテンツです。
次に、CSS、CSS 属性も動的に操作されるコンテンツです。これにより、動的な書式設定効果が得られます。
3 番目は、Web ページ上の HTML と CSS を実際に操作するクライアント側のスクリプト (JavaScript など) です。
DHTML テクノロジーを使用すると、Web デザイナーはユーザーと対話し、動的コンテンツを含むページを作成できます。実際、DHTML を使用すると、Web デザイナーは、ページが読み込まれた後でも、Web ページ上のすべての要素を動的に操作できます。 DHTML を使用すると、Web デザイナーはコンテンツを動的に非表示または表示したり、スタイル定義を変更したり、要素をアクティブ化したり、要素を配置したりできます。また、DHTML を使用すると、Web デザイナーは要素をファイルやデータベースなどの外部データ ソースにバインドすることにより、Web ページ上に外部情報を表示できます。これらの機能はすべて、Web サーバー をリクエストしたり、Web ページをリロードしたりすることなく、ブラウザを使用して実行できます。これは、すべての関数が HTML ファイルに含まれており、Web ページのリクエスト
5.xml

aa
bb
cc

dom ノードがデータを読み取ります
< ; ?php
header("content-type: text/html; charset=utf-8");
//dom ノードが XML ファイルを読み込みます
$dom = new DomDocument() //DOM オブジェクトを作成します
$dom- > load('1.xml'); //XML ファイルを読み込みます
$root = $dom->documentElement; //XML データのルートを取得します
$nodes=$root->childNodes; //XML すべての子を取得しますルートオブジェクトの下のノードオブジェクト
echo $nodes->item(1)->nodeValue; //名前を出力
echo $nodes->item(3)->nodeValue; //パスワードを出力
echo $nodes; ->item(5)->nodeValue; //性別を出力
$nodes->item(7)->nodeValue; //年齢を出力
//属性を取得
$dom-> 'name')->item(0)->attributes->getNamedItem('abc')->nodeValue;
echo $nodes->item(1)->attributes->getNamedItem(' id')->nodeValue;
readXml($root); //ループを実行してノード関数を読み取り、ルートノードオブジェクトを渡します
function readXml($nodes){
if($nodes->hasChildNodes() ){//子供のノードがあるかどうかを判断しますここにビジネス ロジックがあります。コードを記述してください。}}}}}}
?>
//dom は XML ドキュメントを生成します
$doc=new DOMDocument('1.0');
//ノード オブジェクトを順番に作成して追加します
$root=$doc->appendChild($ doc ->createElement('school')); //ルート ディレクトリを作成して追加します
//子ノードを作成します
$class1=$root->appendChild($doc->createElement('class1'));
/ /クラスの下に子ノードを作成します
$stu=$class1->appendChild($doc->createElement('stu'));
//stuの属性とテキストを作成します
$stu->appendChild( $doc ->createTextNode('1Class'));
$stu->setAttribute('number','10');
$stu->setAttribute('zhuanye','java');
/* *
* 上記のコードは XML 形式を生成します


1班


*/
//子ノードを作成します
$class2=$root->appendChild($doc->createElement('class2'));
//クラスの下に子ノードを作成します
$stu2 =$class2 ->appendChild($doc->createElement('stu'));
//stu の属性とテキストを作成します
$stu2->appendChild($doc->createTextNode('1 class') );
$stu2->setAttribute('number','20');
$stu2->setAttribute('zhuanye','php');
//Generate
$doc->formatOutput=true;
$xmlDoc =$doc->saveXML(); //xml を生成し、xml ドキュメントを返します
$doc->save('school.xml');
/**
上記のコードによって生成された最終結果:



1& # x73ED;


1班


*/
6. Interface
header( "content-type: text/html; charset=utf-8");
$xml=simplexml_load_file('school.xml');//配列オブジェクトを返す
//データと属性を読み取るループ
foreach ($xml as $key=>$node){
if($key=='class1'){
echo $node->stu;//オブジェクトのテキストノードに直接アクセス //出力結果:クラス1
}elseif( $ key == 'class2') {
echo $node- & gt; stu ['number'] // アトラクション出力結果: 20
}}} // 直接アクセス属性
echo $ xml-; & gt; class1 ->stu['zhuanye'] //出力結果: java
/**



1班
< ;/class1>

2班


 */
xmlをリモートで取得して保存
header("content-type: text /html; charset= utf-8");
//XML ファイルへのリモート アクセス
$xml=simplexml_load_file('http://127.0.0.1/xml/2.xml');
$xml->asXML( '5.xml') ; //ローカルに保存
//ビジネス ロジックに従って XML ドキュメントを操作します
?>
Seven.
データベース データから XML ドキュメントを生成します
/**



1
aa

cc


**/
$c> mysql_select_db('member' );
mysql_set_charset("utf8");
//データ送信
if(isset($_POST['zhuce'])){
$username=trim($_POST['username']);
$userpwd=trim ($_POST['userpwd']);
$useremail=trim($_POST['useremail']);
//データベースに書き込みます
$sql="insert into reg(`id`,` name`,`pwd`,`email`)values(null,'$username','$userpwd','$useremail')";
$res= mysql_query($sql);
if($res){
//データベースをクエリします
$sql="select * from reg";
$rest=mysql_query($sql);
$users=array();
while($rows=mysql_fetch_assoc($rest)){
$users[ ]=$行
} }
}
// 判断あるかどうか有数データ
if( ! empty($users)){
$xmlString=createXml('users',$users);
$xmlObj=new SimpleXMLElement($xmlString); // xml对オブジェクト生成
$xmlObj->asXML("reg.xml"); //保存
}
}
//创建xml
function createXml($boot,$data){
$xml="<$boot>n";
foreach($data as $key=>$value) {
if(is_string($key)){
$xml.="<$key>";
foreach($value as $k=>$val){
$xml.="n<$k> ".$val."";
}
$xml.="nn";
}else{
$xml .="<$boot.$key>" ;
foreach($value as $k=>$val){
$xml.="n<$k>".$val."";
}
$xml.="n< ;/$boot.$key>n";
}
}
$xml.="";
return $xml;
}

?>





注册後将数架書入力库并将データ生成xml文档 保存在api目录下面



用户名:

秘密:

邮箱:






手順获取オブジェクト:

$xml=simplexml_load_file('http://127.0.0.1/xml/reg.xml');
//$memberXml=$xml->asXML('member.xml');
? >





注册後将データ書き込み入力库并将データ生成xml 文档 保存在api 目录下




foreach($xml as $key=>$node){
?>

< td>id;?>

< td>pwd;?>

< /tr>
}
?>
idnamepwd< ;/th>メール
name;?> email;?>



yahoo 中国の都市 ID アドレスをクエリします
http://weather.yahoo.com/china/
$xml=simplexml_load_file(" http ://xml.weather.yahoo.com/forecastrss?w=2158433&u=c");
echo '
';<br> //var_dump($xml);<br> $arrobj=$xml->channel - >image;<br> //echo $arrobj->url;<br> // print_r($xml->channel);<br> echo '
';

echo '';

echo ''.$arrobj->title.'シアン天気天気予報xml
header("content-type: text/html;charset=utf-8");
$c//php.weather.sina.com.cn/xml.php ? パスワード=DJOYnieT8234jlsK&day=0&city=成都");
file_put_contents('sina_weather.xml',$content);

上記では、Web サーバー、天気予報、オブジェクト指向コンテンツなど、XML がよく使われる PHP の操作について説明しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート