XML学習(8) XMLの追加、削除、変更、クエリ
在项目开发中,我们经常会对某张表进行增删改查。我们根据条件刷选表中的数据放到gridview中以列表形式展现,同时给gridview添加各种样式,比如一般必用的鼠标经过,鼠标离开颜色变化,行选中等颜色加深,同时给列表数据项赋值,单击保存按钮可以修改一条已存在的数据或者添加一条新的数据,单击按钮添加,列表数据项清空,单击删除,可以删除一条数据。
由于为了方便大家把代码复制一下,在脱离数据的情况下,就可以看到效果,所以,我把数据存放在xml,所以读取数据不是通过数据库,是通过跟xml文件交互实现的。所以做了下面对xml增删改查页面。
效果图:
首先列出XML文件,方便代码参照
内容.xml
<?xml version="1.0" encoding="utf-8"?> <config> <Header ID="ID" class="class" class_name="class_name" year="year" school="school" count="count"> </Header> <rows ID="01" class="一五班" class_name="实验班" year="2013" school="三峡高级中学" count="30"> </rows> <rows ID="02" class="一六班" class_name="奥数班" year="2013" school="三峡高级中学" count="45"> </rows> <rows ID="03" class="一七班" class_name="阳光班" year="2013" school="三峡高级中学" count="60"> </rows> <rows ID="04" class="一八班" class_name="美术班" year="2013" school="三峡高级中学" count="75"> </rows> </config>
一,核心代码:
1) 修改xml
/// <summary> /// 修改XML /// </summary> /// <param name="xmlName">XML文件名</param> /// <param name="ht">存放信息哈希表</param> /// <param name="ID">主键值</param> public void saveXML(string xmlName,Hashtable ht,string ID) { string fileName=HttpContext.Current.Request.PhysicalApplicationPath+"\\Xml\\"+xmlName+".xml";//xml的物理路径 XmlDocument xmlDoc=new XmlDocument (); xmlDoc.Load(fileName); XmlNode node = xmlDoc.SelectSingleNode("config/rows[@ID=" + ID + "]"); foreach (XmlNode node1 in node.Attributes) { if (ht.ContainsKey(node1.Name)&&node1.Name!="ID") { node1.Value = ht[node1.Name].ToString(); } } xmlDoc.Save(fileName); }
ht:
Hashtable ht = new Hashtable(); ht.Add("ID", this.txt_ID.Value); ht.Add("class", this.txt_class.Value); ht.Add("class_name", this.txt_class_name.Value); ht.Add("year", this.txt_year.Value); ht.Add("school", this.txt_school.Value); ht.Add("count", this.txt_count.Value);
2)插入xml
/// <summary> /// 插入xml /// </summary> /// <param name="xmlName">XML文件名</param> /// <param name="ht">存放信息哈希表</param> /// <returns></returns> public string insertXml(string xmlName, Hashtable ht) { string fileName = HttpContext.Current.Request.PhysicalApplicationPath + "\\Xml\\" + xmlName + ".xml";//xml的物理路径 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); XmlNode node = xmlDoc.SelectSingleNode("//rows[last()]");//最后一个行节点 XmlNode MaxNode = xmlDoc.SelectSingleNode("//rows/@ID[not(.<//rows/@ID)]");//获取主键最大值 if (int.Parse(ht[MaxNode.Name].ToString()) <= int.Parse(MaxNode.Value))//如果小于主键最大值,那么返回- { return "-1"; } XmlElement xe = xmlDoc.CreateElement("rows"); xe.InnerText = ""; foreach (XmlNode node1 in node.Attributes) { if (ht.ContainsKey(node1.Name)) { xe.SetAttribute(node1.Name, ht[node1.Name].ToString()); } else { xe.SetAttribute(node1.Name,""); } } node.ParentNode.AppendChild(xe); xmlDoc.Save(fileName); return "1"; }
3) 删除xml
/// <summary> /// 删除xml节点 /// </summary> /// <param name="xmlName">XML文件名</param> /// <param name="ID">主键值</param> /// <param name="primaryKey">主键名</param> /// <returns></returns> public string deleteXml(string xmlName,string ID,string primaryKey) { string rtn = string.Empty; string fileName = HttpContext.Current.Request.PhysicalApplicationPath + "\\Xml\\" + xmlName + ".xml";//xml的物理路径 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); XmlNode node = xmlDoc.SelectSingleNode("//rows[@"+primaryKey+"='"+ID+"']");//最后一个行节点 if (node ==null) { rtn = "-1"; } else { node.ParentNode.RemoveChild(node); rtn = "1"; } xmlDoc.Save(fileName); return rtn; }
4)html显示xml在以前的内容已经介绍过
如果是看具体的实现代码,可以下载:
以上就是xml学习(8) xml增删改查的内容,更多相关内容请关注PHP中文网(www.php.cn)!

ホット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)

ホットトピック









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

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

PHP を使用した XML データのデータベースへのインポート はじめに: 開発中、さらなる処理や分析のために外部データをデータベースにインポートする必要がよくあります。一般的に使用されるデータ交換形式として、XML は構造化データの保存と送信によく使用されます。この記事では、PHP を使用して XML データをデータベースにインポートする方法を紹介します。ステップ 1: XML ファイルを解析する まず、XML ファイルを解析し、必要なデータを抽出する必要があります。 PHP には XML を解析するためのいくつかの方法が用意されており、最も一般的に使用されるのは Simple を使用する方法です。

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 を解析すると、時々、次のようなエラーが発生することがあります。

Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。
