ホームページ バックエンド開発 PHPチュートリアル XML を解析して SQL ステートメントを生成する PHP メソッド PHP のヒント

XML を解析して SQL ステートメントを生成する PHP メソッド PHP のヒント

Jun 28, 2018 pm 05:31 PM
php XMLを解析する

この記事では主に、php が XML を解析して SQL ステートメントを生成する方法を紹介します。これには、XML 形式ファイルの読み取り、解析、SQL 文字列の結合に関する php の操作スキルが含まれます。必要な方は、以下を参照してください。

この記事の例では、PHP が XML を解析し、S​​QL ステートメントを生成する方法について説明します。詳細は次のとおりです。

PHP で XML を解析する方法はたくさんあります。検索するとたくさんの方法が見つかります。

今日、特定の XML からノード属性を抽出し、データベースの特定のテーブル内のフィールドを更新するという要件に遭遇しました。

アイデア:

XML を解析し、すべてのノード属性を取得します。> ノード コレクションをループし、対応する属性を取得します。> SQL 文字列を結合して保存します。それを配列に変換します –> 配列を文字列に変換し、ファイルに保存します。

Xpath は、コードの作成中に次の 2 つの問題が発生しました。 XML の履歴パス 属性が D:\xx\... の場合、ファイルをロードできません。「/」 (Linux の区切り文字) に変更してください。

2 ノードの属性を取得します。 ::attributes を使用すると、エディターは常に赤色のプロンプトを表示します。長い間ドキュメントを見つけて、最終的に ->getAttribute() を使用しました (奇妙すぎるため、->previousSibling をサポートしていると思います)。および ->nodeValue) によると、ドキュメントの DOMElement:: によると、getAttribute はエラーを直接報告しました。

#
<title>xml 转换为 sql</title>
<meta http-equiv=&#39;content-type&#39; content=&#39;text/html; charset=utf-8&#39; />
<style type="text/css">
  .tip_info {margin-bottom:10px;}
  .tip_info span {color:#f00;}
</style>
<?php
$xml = "D:/res/dressConfig.xml";
$doc = new DOMDocument();
$doc->load($xml);
$xpath = new DOMXPath($doc);
$query = "//i";
$entries = $xpath->query($query);
$len = $entries->length;
echo "<p class=&#39;tip_info&#39;>总共找到:<span>".$len."</span>个节点</p>";
$arr = array();
$idx = 0;
while ($idx < $len) {
  $nodeItem = $entries->item($idx);
  $id = $nodeItem->getAttribute("i");
  $name = $nodeItem->getAttribute("n");
  $inf = $nodeItem->getAttribute("inf");
//  echo "<p>".$id.&#39;--&#39;.$name.&#39;--&#39;.$inf."</p>";
  $idx++;
  array_push($arr, "update dress_item t SET t.s_name=&#39;".$name."&#39;,t.s_intro=&#39;".$inf."&#39; WHERE t.n_doid=".$id.";");
}
$dir = "d:/sql/";
if (!is_dir($dir)) {
  mkdir($dir);
}
file_put_contents("d:/sql/dress_item.sql", implode("\n\r", $arr));
echo "生成完毕!";
?>
ログイン後にコピー

データはデータベース テーブルから生成されたものであるため、見つかったノードの数はテーブル内のレコードの総数になります。生成後、内容が正しいかどうかを確認し、目的を達成するために SQL スクリプトを実行します。

追記: 参考までに、XML 操作用のオンライン ツールをいくつか紹介します。

## オンライン

XML

/JSON 相互変換ツール: http://tools.jb51.net/code/xmljson

オンライン形式変換XML/オンライン圧縮XML

http://tools.jb51.net/code/xmlformat

XML
オンライン圧縮/書式設定ツール:

http://tools.jb51.net/code/xml_format_compress

XML
コードのオンライン書式設定および美化ツール:

http://tools.jb51.net/code/xmlcodeformat

興味があるかもしれない記事:PHP による正規表現グループ化キャプチャ操作の実装例 PHP のヒント

PHP は開始原理を実現しますQQ ログインの実装プロセスと php example

PHP ファイルの自動読み込みの詳細な説明 php example

# ##################################

以上がXML を解析して SQL ステートメントを生成する PHP メソッド PHP のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles