由于平时在学校XML操作这一块几乎没怎么使用过,这几天闲着没事情,就在博客园逛逛,顺便写写东西,留作自己的学习资料。这样的列子在博客园很多,重叠也很多.
1:XML文件 Basket.xml

 1<?xml version="1.0" encoding="utf-16"?>
 2<Rocket>
 3    <hoopman id="1">
 4        <Name>姚明</Name>
 5        <Age>27</Age>
 6        <Postion>中锋</Postion>
 7        <img>1.jpg</img>
 8    </hoopman>
 9    <hoopman id="2">
10        <Name>麦蒂</Name>
11        <Age>28</Age>
12        <Postion>大前锋</Postion>
13        <img>2.jpg</img>
14    </hoopman>
15    <hoopman id="3">
16        <Name>斯科拉</Name>
17        <Age>29</Age>
18        <Postion>小前锋</Postion>
19        <img>3.jpg</img>
20    </hoopman>
21    <hoopman id="4">
22        <Name>布鲁克斯</Name>
23        <Age>21</Age>
24        <Postion>控卫</Postion>
25        <img>4.jpg</img>
26    </hoopman>
27</Rocket>
28
29
30
2:创建C#窗体

 1 using System.Text;
 2 using System.Windows.Forms;
 3 using System.IO;
 4 using System.Xml;
 5 namespace XMLExe
 6 {
 7     public partial class Form1 : Form
 8     {
 9         XmlDocument doc;
10         XmlNode Node;
11         public Form1()
12         {
13             InitializeComponent();
14             doc = new XmlDocument();
15             doc.Load("Basket.xml");
16             Node = doc.SelectSingleNode("Rocket");
17         }
18 
19         private void textBox1_TextChanged(object sender, EventArgs e)
20         {
21              
22         }
23 
24         private void button1_Click(object sender, EventArgs e)
25         {
26             XmlElement hoopman = doc.CreateElement("hoopman");
27             hoopman.SetAttribute("id","5");
28             XmlElement Name = doc.CreateElement("Name");
29             Name.InnerText = "巴蒂尔";
30             XmlElement Age = doc.CreateElement("Age");
31             Age.InnerText = "29";
32             XmlElement Postion = doc.CreateElement("Postion");
33             Postion.InnerText = "小前锋";
34             XmlElement img = doc.CreateElement("img");
35             img.InnerText = "5.jpg";
36             hoopman.AppendChild(Name);
37             hoopman.AppendChild(Age);
38             hoopman.AppendChild(Postion);
39             hoopman.AppendChild(img);
40             Node.AppendChild(hoopman);
41             doc.Save("Basket.xml");
42             Output();
43         }
44 
45         public void Output()
46         {
47             using(FileStream fs=File.Open("Basket.xml",FileMode.OpenOrCreate))
48             {
49                 using(StreamReader sr=new StreamReader(fs))
50                 {
51                     this.textBox1.Text = sr.ReadToEnd();
52                 }
53             }
54         }
55 
56         private void button3_Click(object sender, EventArgs e)
57         {
58             //看姚明不爽  删除他
59             XmlNodeList NodeList = Node.ChildNodes;
60             foreach (XmlNode node in NodeList)
61             {
62                 XmlElement element = (XmlElement)node;
63                 if (element.GetAttribute("id"== "1" && node.SelectSingleNode("Name").InnerText=="姚明")
64                 {
65                     node.ParentNode.RemoveChild(node);
66                     break;
67                 }
68             }
69             doc.Save("Basket.xml");
70             Output();
71         }
72 
73         private void button2_Click(object sender, EventArgs e)
74         {
75             //妈的  巴蒂尔 年龄太大,给他改小一点
76             XmlNodeList NodeList = Node.ChildNodes;
77             foreach (XmlNode node in NodeList)
78             {
79                 XmlElement element = (XmlElement)node;
80                 if (element.GetAttribute("id"== "5" && node.SelectSingleNode("Name").InnerText == "巴蒂尔")
81                 {
82                     element.SetAttribute("Age""25");
83                     break;
84                 }
85             }
86             doc.Save("Basket.xml");
87             Output();
88         }
89     }
90 }
在写这些的时候  ,我一直有个问题不大明白对于一些方法的参数而言 哪些地方需要用的是文件名,哪些地方是他的路径
我一直不大明白文件和目录的区别,
帮我看看问题 虽然解决啦 ,
注意:
doc.Load(@"D:/My Documents/Visual Studio 2005/Projects/XMLExe/XMLExe/Basket.xml");
我看别人博客上有人写的是doc.Load("Book.xml");
这两者之间有什么区别,
不是很明白,由于本人技术比较菜