Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

guoi tao: tinhphit

ngay tao: 19/3/2010


1.Giới thiệu XML
XML(extensible mark up language) 
Được thiết kế để khắc phục những khó khăn mà của HTML
XML là tập hợp những quy tắc định nghĩa theo từng 
Tag riêng biệt, không giống như HTML, những tag
Của XML không được định nghĩa trước
XML được phát triển để mang dữ liệu 
XML sử dụng một trong hai DTD h
Hoặc XML schemas dùng để mô tả dữ liệu
Và tạo nên mô tả của chính nó

2.Những đặc tính của XML được tổ chức W3c đề nghị gồm những
-Những tag không định nghĩa trước
-Kết thúc một tag mở là một tag đóng
-Có phân biệt chữ hoa và chữ thường
-Những tag có thể lòng vào nhău
-Một file xml chỉ có một root element
-Chú thích(comment) tương tự như HTML
-Các node cha và con có mối tương quan giửa các thành phần
-Kiểu nội dung trong mổi thành phần là khác nhău
-tên được đặt Tuân theo các quy tắc đặt tên thông thường khác

3Tại sao .net lại cần đến XML

XML đơn giản, độc lập với nền tảng , cấu trúc dữ liệu tách biệt với
Giao diện người dùng. XML có thể được dùng để quốc tế hóa
Một ứng dụng .NET bởi vì nó dựa vào định dạng UNICODE

4. ví dụ demo một số thao tác với fiel xml trên C#

<?xml version="1.0"?>

<Persons>

<PersonID ID="ID1">

<Name>Jane Doe</Name>

<Address1>LeNin Part</Address1>

<Address2>London street</Address2>
<City>New York</City>

<Salary>500</Salary>

</PersonID>

<PersonID ID="ID2">

<Name>tinh</Name>

<Address1>125 box</Address1>

<Address2>34 any</Address2>

<City>New York</City>

<Salary>6788</Salary>

<Phoneno>012541334</Phoneno>

</PersonID>

</Persons>

tạo một class như său

namespace XML1

class XML {

public void writeXml() {

// create path of file xmlFile.txt

string path = @"D:\xmlFile.txt";

//create instance

XmlTextWriter xmlwt = new XmlTextWriter(path,null);

// format file xml

xmlwt.Formatting = Formatting.Indented;
xmlwt.Indentation = 6;

xmlwt.WriteStartDocument();

xmlwt.WriteStartElement("","Persons","");//start person

xmlwt.WriteStartElement("", "PersonID", "");// start personID

xmlwt.WriteStartAttribute("ID");

xmlwt.WriteString("ID1");

xmlwt.WriteEndAttribute();

xmlwt.WriteStartElement("", "Name", "");

xmlwt.WriteString("Jane Doe");

xmlwt.WriteEndElement();

xmlwt.WriteStartElement("", "Address1", "");

xmlwt.WriteString("LeNin Part");

xmlwt.WriteEndElement();

xmlwt.WriteStartElement("", "Address2", "");

xmlwt.WriteString("London street");

xmlwt.WriteEndElement();

xmlwt.WriteStartElement("", "City", "");

xmlwt.WriteString("New York");

xmlwt.WriteEndElement();
xmlwt.WriteStartElement("", "Salary", "");

xmlwt.WriteValue(456);

xmlwt.WriteEndElement();

xmlwt.WriteEndElement();// end personID

xmlwt.WriteStartElement("", "PersonID", "");// start personID

xmlwt.WriteStartAttribute("ID");

xmlwt.WriteString("ID2");

xmlwt.WriteEndAttribute();

xmlwt.WriteStartElement("", "Name", "");

xmlwt.WriteString("JMaris");

xmlwt.WriteEndElement();

xmlwt.WriteStartElement("", "Address1", "");

xmlwt.WriteString("125 box");

xmlwt.WriteEndElement();

xmlwt.WriteStartElement("", "Address2", "");

xmlwt.WriteString("34 any");

xmlwt.WriteEndElement();

xmlwt.WriteStartElement("", "City", "");

xmlwt.WriteString("New York");

xmlwt.WriteEndElement();
xmlwt.WriteStartElement("", "Salary", "");

xmlwt.WriteValue(1235);

xmlwt.WriteEndElement();

xmlwt.WriteEndElement();

xmlwt.WriteEndElement();

xmlwt.Flush();

xmlwt.Close();

Console.WriteLine("creat xml file is sucessfuly");

xuất dữ liệu từ file xml lên màn hình

public void readXml()

string path = @"D:\xmlFile.txt";

XmlTextReader xmlr = new XmlTextReader(path);

while (xmlr.Read()) {

if (xmlr.NodeType == XmlNodeType.Element) {

if(xmlr.LocalName.Equals("Name")){

Console.WriteLine("Name of person{0}
",xmlr.ReadString());

if(xmlr.LocalName.Equals("Address1")){
Console.WriteLine("Address1 of person {0} ",
xmlr.ReadString());

if (xmlr.LocalName.Equals("Address2"))

Console.WriteLine("Address2 of person{0}: ",


xmlr.ReadString());

if (xmlr.LocalName.Equals("City"))

Console.WriteLine("City of person{0}:
",xmlr.ReadString());

if (xmlr.LocalName.Equals("Salary"))

Console.WriteLine("Salary of person{0}:
",xmlr.ReadString());

Console.ReadLine();

sử dụng Xpath để truy cập đến từng nod của file XML

// demo using Xpath


public void usingXpath() {

XmlDocument node = new XmlDocument();

node.Load(@"D:\xmlFile.txt");

// using xmlNode

XmlNode rootnode = node.DocumentElement;

// display name details

XmlNode nodename = rootnode.SelectSingleNode("//Name");

Console.WriteLine(nodename.InnerText);

// display only second name details

XmlNode nodename1 = rootnode.SelectSingleNode("//Name[1]");

Console.WriteLine(nodename1.InnerText);

//using xmlNodeList to display Name details in xml document

Console.WriteLine();

XmlNodeList nodelist = rootnode.SelectNodes(".//PersonID");

foreach (XmlNode nodes in nodelist) {

Console.WriteLine(nodes.InnerText+" "+"\n");

// display details of person have id =2

XmlNodeList nodelistid =
rootnode.SelectNodes(".//PersonID[@ID='ID1']");

foreach (XmlNode nodes in nodelistid)

Console.WriteLine(nodes.InnerText + " " + "\n");

//----------------------------->>>
XmlNodeList nodelistidsa =
rootnode.SelectNodes(".//PersonID[Salary<344]");

foreach (XmlNode nodes in nodelistid)

Console.WriteLine(nodes.InnerText + " " + "\n");

Chỉnh sửa một node bất kỳ từ file xml đã được tạo ở trên

public void editXml() {

//XmlDocument edit = new XmlDocument();

//string path;

//edit.Load(@"D:\xmlFile.txt");

//XmlNode node;

//node = edit.DocumentElement;

//foreach (XmlNode nodwtwo in node.ChildNodes)

// if (nodwtwo.Name == "City")

// {

// if (nodwtwo.InnerText == "JMaris")

// {

// string newname;

// Console.WriteLine("Enter new name");

// newname = Console.ReadLine();

// nodwtwo.InnerText = newname;

// }
// }

//edit.Save(@"D:\xmlFile.txt");

string filename = @"D:\xmlFile.txt";

XmlDocument mydoc = new XmlDocument();

mydoc.Load(filename);

XmlElement root=mydoc.DocumentElement;

XmlNode mynode;

mynode =
root.SelectSingleNode("/Persons/PersonID[@ID='ID2']/Name");

mynode.InnerText = "tinh";

mydoc.Save(@"D:\xmlFile.txt");

Console.WriteLine("edit is sucessfuly");

Thêm một phàn tử mới vào file xml

public void addnew() {

string filename=@"D:\xmlFile.txt";

XmlDocument mydoc = new XmlDocument();

mydoc.Load(filename);

XmlElement newelement = mydoc.CreateElement("Phoneno");

newelement.InnerText="012541334";

XmlElement root = mydoc.DocumentElement;

XmlNode oddnode;

oddnode = root.SelectSingleNode("/Persons/PersonID[@ID='ID2']");
oddnode.AppendChild(newelement);

mydoc.Save(@"D:\xmlFile.txt");

Console.WriteLine("add new element is sucessfuly");

lớp để triệu gọi các phương thức chứa hàm main để thực thi chương trình

class Program

static void Main(string[] args)

XML objXML = new XML();

objXML.writeXml();

Console.WriteLine("write xml is cucessfuly");

objXML.readXml();

objXML.xmlNode();

objXML.usingXpath();

objXML.editXml();

objXML.addnew();

Console.ReadKey();

You might also like