1. Diketahui terdapat file XML (bookstore.xml) sebagai berikut:
<?xml versi="1.0" pengkodean="gb2312"?>
<toko buku>
<buku genre="fantasi" ISBN="2-3631-4">
<title>Warisan Oberon</title>
<author>Coret, Eva</author>
<harga>5,95</harga>
</buku>
</toko buku>
1. Masukkan node <book> ke dalam node <bookstore>:
XmlDocument xmlDoc=XmlDocument baru();
xmlDoc.Load("toko buku.xml");
XmlNode root=xmlDoc.SelectSingleNode("toko buku");//Temukan <toko buku>
XmlElement xe1=xmlDoc.CreateElement("book");//Buat node <book>
xe1.SetAttribute("genre","Li Zanhong");//Setel atribut genre node
xe1.SetAttribute("ISBN","2-3631-4");//Setel atribut ISBN dari node
XmlElement xesub1=xmlDoc.CreateElement("judul");
xesub1.InnerText="CS dari pemula hingga mahir";//Atur node teks
xe1.AppendChild(xesub1);//Tambahkan ke simpul <book>
XmlElement xesub2=xmlDoc.CreateElement("penulis");
xesub2.InnerText="houjie";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("harga");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//Tambahkan ke simpul <toko buku>
xmlDoc.Simpan("toko buku.xml");
//=
Hasilnya adalah:
<?xml versi="1.0" pengkodean="gb2312"?>
<toko buku>
<buku genre="fantasi" ISBN="2-3631-4">
<title>Warisan Oberon</title>
<author>Coret, Eva</author>
<harga>5,95</harga>
</buku>
<buku genre="李zanhong" ISBN="2-3631-4">
<title>CS dari entri hingga master</title>
<penulis>Houji</penulis>
<harga>58,3</harga>
</buku>
</toko buku>
2. Ubah node: Ubah nilai genre dari node yang nilai atribut genrenya adalah "Li Zanhong" menjadi "updateLi Zanhong", dan ubah teks node anak <penulis> dari node ini menjadi "Ya Sheng".
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//Dapatkan semua node anak dari node toko buku
foreach(XmlNode xn di nodeList)//Melintasi semua node anak
{
XmlElement xe=(XmlElement)xn;//Mengonversi tipe sub-node menjadi tipe XmlElement
if(xe.GetAttribute("genre")=="Li Zanhong")//Jika nilai atribut genre adalah "Li Zanhong"
{
xe.SetAttribute("genre","update Li Zanhong");//Ubah atribut menjadi "update Li Zanhong"
XmlNodeList nls=xe.ChildNodes;//Lanjutkan untuk mendapatkan semua node anak dari node anak xe
foreach(XmlNode xn1 di nls)//Melintasi
{
XmlElement xe2=(XmlElement)xn1;//Jenis konversi
if(xe2.Name=="penulis")//Jika ditemukan
{
xe2.InnerText="Yasheng";//Modifikasi
break;//Temukan saja dan keluar.
}
}
merusak;
}
}
xmlDoc.Simpan("toko buku.xml");//Simpan.
//===
Hasil akhirnya adalah:
<?xml versi="1.0" pengkodean="gb2312"?>
<toko buku>
<buku genre="fantasi" ISBN="2-3631-4">
<title>Warisan Oberon</title>
<author>Coret, Eva</author>
<harga>5,95</harga>
</buku>
<buku genre="perbarui李zanhong" ISBN="2-3631-4">
<title>CS dari entri hingga master</title>
<author>Serangan</author>
<harga>58,3</harga>
</buku>
</toko buku>
3. Hapus atribut genre pada node <book genre="fantasy" ISBN="2-3631-4"> dan hapus node <book genre="update Li Zanhong" ISBN="2-3631-4">.
XmlNodeList xnl=xmlDoc.SelectSingleNode("toko buku").ChildNodes;
foreach(XmlNode xn di xnl)
{
XmlElemen xe=(XmlElemen)xn;
if(xe.GetAttribute("genre")=="fantasi")
{
xe.RemoveAttribute("genre");//Hapus atribut genre
}
else if(xe.GetAttribute("genre")=="updateLi Zanhong")
{
xe.RemoveAll();//Hapus semua isi node
}
}
xmlDoc.Simpan("toko buku.xml");
//=====
Hasil akhirnya adalah:
<?xml versi="1.0" pengkodean="gb2312"?>
<toko buku>
<buku ISBN="2-3631-4">
<title>Warisan Oberon</title>
<author>Coret, Eva</author>
<harga>5,95</harga>
</buku>
<buku>
</buku>
</toko buku>
4. Menampilkan semua data.
XmlNode xn=xmlDoc.SelectSingleNode("toko buku");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf di xnl)
{
XmlElemen xe=(XmlElemen)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//Menampilkan nilai atribut
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeList xnf1=xe.ChildNodes;
foreach(XmlNode xn2 di xnf1)
{
Console.WriteLine(xn2.InnerText);//Menampilkan teks simpul anak
}
}
Biarkan untuk referensi, alamat asli http://blog.yesky.com/75/richsee/1211075.shtml
2 Kode front-end: html
<%@ Halaman bahasa="c#" Codebehind="Main.aspx.cs" AutoEventWireup="false" Inherits="DsAndXML.OpXMLFile.Main" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transisi//EN" >
<HTML>
<KEPALA>
<title>Utama</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Konten="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content=" http://schemas.microsoft.com/intellisense/ie5 ">
</KEPALA>
<badan MS_POSITIONING="GridLayout">
<form id="Utama" metode="posting" runat="server">
<FONT muka="宋体">
<asp:DataGrid id="dgShow" style="Z-INDEX: 100; KIRI: 113px; POSISI: absolut; ATAS: 32px" runat="server" width="480px" Height="178px"></asp: Jaringan Data>
<asp:Label id="Label3" style="Z-INDEX: 111; KIRI: 187px; POSISI: absolut; ATAS: 383px" runat="server" width="120px" Height="21px">Alamat email baru: </asp:Label>
<asp:Label id="Label2" style="Z-INDEX: 107; KIRI: 333px; POSISI: absolut; ATAS: 274px" runat="server" width="83px" Height="21px">Alamat email:< /asp:Label>
<asp:Button id="btnAdd" style="Z-INDEX: 104; KIRI: 298px; POSISI: absolut; ATAS: 324px" runat="server" Text="Add"></asp:Button>
<asp:Button id="btnDelete" style="Z-INDEX: 103; KIRI: 199px; POSISI: absolut; ATAS: 324px" runat="server" Text="Delete"></asp:Button>
<asp:Button id="btnChange" style="Z-INDEX: 102; KIRI: 102px; POSISI: absolut; ATAS: 382px" runat="server" Text="Modify"></asp:Button>
<asp:Button id="btnQuery" style="Z-INDEX: 101; KIRI: 101px; POSISI: absolut; ATAS: 324px" runat="server" Text="Query"></asp:Button>
<asp:DropDownList id="ddlName" style="Z-INDEX: 105; KIRI: 210px; POSISI: absolut; ATAS: 274px" runat="server" width="95px" Height="78px"></asp: Daftar DropDown>
<asp:Label id="Label1" style="Z-INDEX: 106; KIRI: 100px; POSISI: absolut; ATAS: 274px" runat="server" width="83px" Height="21px">Nama:</ asp:Label>
<asp:Label id="lbEmail" style="Z-INDEX: 109; KIRI: 459px; POSISI: absolut; ATAS: 274px" runat="server" width="231px"></asp:Label>
<asp:TextBox id="tbNewMail" style="Z-INDEX: 110; KIRI: 330px; POSISI: absolut; ATAS: 381px" runat="server" width="208px" Height="26px"></asp: Kotak Teks></FONT>
</bentuk>
</tubuh>
</HTML>file XML dbGuest.xml
<?xml versi="1.0" mandiri="ya"?>
<dbTamu>
<Pengguna>
<Nama>aaa</Nama>
<Kota>shanghai</Kota>
<Email>[email protected]</Email>
<Pesan>oke</Pesan>
<STime>2004-07-12T00:00:00.0000000+08:00</STime>
</Pengguna>
<Pengguna>
<Nama>shaoazhd</Nama>
<Kota>beijing</Kota>
<Email>[email protected]</Email>
<Pesan>afsa</Pesan>
<STime>2004-7-12 15:07:39</STime>
</Pengguna>
<Pengguna>
<Nama>Guset</Nama>
<Kota>Shanghai</Kota>
<Email>[email protected]</Email>
</Pengguna>
<Pengguna>
<Nama>Guset</Nama>
<Kota>Shanghai</Kota>
<Email>[email protected]</Email>
</Pengguna>
</dbGuest>menggunakan Sistem;
menggunakan Sistem.Koleksi;
menggunakan Sistem.ComponentModel;
menggunakan Sistem.Data;
menggunakan Sistem.Gambar;
menggunakan Sistem.Web;
menggunakan Sistem.Web.SessionState;
menggunakan Sistem.Web.UI;
menggunakan Sistem.Web.UI.WebControls;
menggunakan Sistem.Web.UI.HtmlControls;
menggunakan Sistem.Xml;
menggunakan Sistem.Xml.XPath;
namespace DsAndXML.OpXMLFile
{
/**//// <ringkasan>
/// Ringkasan deskripsi Utama.
/// </ringkasan>
kelas publik Utama : System.Web.UI.Page
{
dilindungi System.Web.UI.WebControls.Button btnQuery;
dilindungi System.Web.UI.WebControls.Button btnChange;
dilindungi System.Web.UI.WebControls.Button btnDelete;
dilindungi System.Web.UI.WebControls.Button btnAdd;
dilindungi Sistem.Web.UI.WebControls.DropDownList ddlName;
dilindungi Sistem.Web.UI.WebControls.Label Label1;
dilindungi Sistem.Web.UI.WebControls.Label Label2;
dilindungi Sistem.Web.UI.WebControls.Label lbEmail;
dilindungi System.Web.UI.WebControls.TextBox tbNewMail;
dilindungi Sistem.Web.UI.WebControls.Label Label3;
dilindungi System.Web.UI.WebControls.DataGrid dgShow;
private void Page_Load(pengirim objek, System.EventArgs e)
{
//Masukkan kode pengguna di sini untuk menginisialisasi halaman
jika(!IsPostBack)
Mengikat();
}
kekosongan pribadi Bind()
{
Kumpulan Data ds = Kumpulan Data baru();
ds.ReadXml(Server.MapPath(".\db\dbGuest.xml"));
dgShow.DataSource = ds.Tables[0].DefaultView;
dgShow.DataBind();
Dokumen XmlDocument = XmlDocument baru();
doc.Load(Server.MapPath(".\db\dbGuest.xml"));
XmlNodeList elemList = doc.GetElementsByTagName("Nama");
ddlName.Item.Clear();
for(int i=0;i<elemList.Count;i++)
ddlName.Items.Add(elemList[i].InnerXml);
}
Kode yang dibuat oleh Perancang Formulir Web#region Kode yang dibuat oleh Perancang Formulir Web
ganti void OnInit yang dilindungi (EventArgs e)
{
//
// CODEGEN: Panggilan ini diperlukan oleh perancang Formulir Web ASP.NET.
//
Inisialisasi Komponen();
base.OnInit(e);
}
/**//// <ringkasan>
/// Desainer mendukung metode yang diperlukan - jangan gunakan editor kode untuk memodifikasi
/// Isi dari metode ini.
/// </ringkasan>
kekosongan pribadi InitializeComponent()
{
this.btnQuery.Click += Sistem baru.EventHandler(this.btnQuery_Click);
this.btnChange.Click += Sistem baru.EventHandler(this.btnChange_Click);
this.btnDelete.Click += Sistem baru.EventHandler(this.btnDelete_Click);
this.btnAdd.Click += Sistem baru.EventHandler(this.btnAdd_Click);
ini.Muat += Sistem baru.EventHandler(ini.Page_Load)
;
#endregion
private void btnQuery_Click(pengirim objek, System.EventArgs e)
{
Dokumen XmlDocument = XmlDocument baru();
doc.Load(Server.MapPath(".\db\dbGuest.xml"));
lbEmail.Teks = doc.SelectSingleNode("//Pengguna[Nama='"+ddlName.SelectedItem.Text+"']").ChildNodes.Item(2).InnerText;
}
private void btnChange_Click(pengirim objek, System.EventArgs e)
{
XmlDocument xmlDoc = XmlDocument baru();
xmlDoc.Load(Server.MapPath(".\db\dbGuest.xml"));
XmlNodeList nodeList=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;//Dapatkan semua node anak dari node dbGuest
foreach(XmlNode xn di nodeList)//Melintasi semua node anak
{
XmlElement xe=(XmlElement)xn;//Mengonversi tipe sub-node menjadi tipe XmlElement
XmlNodeList simpul = xe.GetElementsByTagName("Nama");
if(node.Hitungan>0)
{
if(node[0].InnerText==ddlName.SelectedItem.Text)
{
XmlNodeList nls=xe.ChildNodes;//Lanjutkan untuk mendapatkan semua node anak dari node anak xe
foreach(XmlNode xn1 di nls)//Melintasi
{
XmlElement xe2=(XmlElement)xn1;//Jenis konversi
if(xe2.Name=="Email")//Jika ditemukan
{
xe2.InnerText=tbNewMail.Text;//Modifikasi
break;//Temukan saja dan keluar.
}
}
merusak;
}
}
}
xmlDoc.Simpan(Server.MapPath(".\db\dbGuest.xml"));
Mengikat();
}
private void btnDelete_Click(pengirim objek, System.EventArgs e)
{
XmlDocument xmlDoc = XmlDocument baru();
xmlDoc.Load(Server.MapPath(".\db\dbGuest.xml"));
XmlNodeList xnl=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;
foreach(XmlNode xn di xnl)
{
XmlElemen xe=(XmlElemen)xn;
XmlNodeList simpul = xe.GetElementsByTagName("Nama");
if(node.Hitungan>0)
{
if(node[0].InnerText==ddlName.SelectedItem.Text)
xe.RemoveAll();//Hapus semua isi node
merusak;
}
}
xmlDoc.Simpan(Server.MapPath(".\db\dbGuest.xml"));
Mengikat();
}
private void btnAdd_Click(pengirim objek, System.EventArgs e)
{
XmlDocument xmlDoc = XmlDocument baru();
xmlDoc.Load(Server.MapPath(".\db\dbGuest.xml"));
XmlNode root=xmlDoc.SelectSingleNode("dbGuest");//Temukan <dbGuest>
XmlElement xe1=xmlDoc.CreateElement("Pengguna");//Buat simpul <Pengguna>
XmlElement xesub1=xmlDoc.CreateElement("Nama");
xesub1.InnerText="Guset";//Setel simpul teks
xe1.AppendChild(xesub1);//Tambahkan ke simpul <Pengguna>
XmlElement xesub2=xmlDoc.CreateElement("Kota");
xesub2.InnerText="Shanghai";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("Email");
xesub3.InnerText=" [email protected] ";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//Tambahkan ke simpul <dbGuest>
xmlDoc.Simpan(Server.MapPath(".\db\dbGuest.xml"));
Mengikat();
}
}
}
http://www.cnblogs.com/skylaugh/archive/2006/12/18/595634.html