C#中 Xml文档操作

 1         public void CreateTemp(string url, List<TableTemplate> tt)
2 {
3 XmlDocument xd = new XmlDocument();
4 xd.Load(url);
5 try
6 {
7 for (int i = 0; i < tt.Count; i++)
8 {
9 XmlNode root = xd.LastChild.SelectSingleNode("columns");查询xml节点里面的节点名称为“columns”的节点
10 XmlElement xe1 = xd.CreateElement("column");创建原有的节点
11 xe1.SetAttribute("type", tt[i].ColumnType);
12 xe1.SetAttribute("donull", tt[i].ColumnIsNull.ToString());
13 xe1.SetAttribute("name", tt[i].ColumnName);
14 root.AppendChild(xe1);
15 }
16 xd.ChildNodes[1].ChildNodes[1].ChildNodes[1].RemoveAll();
17 xd.SelectSingleNode("table").Attributes.RemoveAll();
18 }
19 catch (Exception e)
20 {
21 throw e;
22 }
23 //xd.CreateNode(XmlNodeType.Element, "aaa", "D:\\My Documents\\Visual Studio 2008\\Projects\\ExcelOperating\\a1.xml");
24 //xd.CreateNode(XmlNodeType.EndElement, "aaa", "D:\\My Documents\\Visual Studio 2008\\Projects\\ExcelOperating\\a1.xml");
25 xd.Save(string.Format("{0}.xml", tt[0].TableName + "__Temp"));
26 //xd.Save(xd.ChildNodes[1].Attributes.Item(0).Value + ".xml");
27 }
<?xml version="1.0" encoding="utf-8" ?>这行业算节点
<table name=""><!--表名称-->
<columns><!--列集合-->
<column type="" donull="" name="">

</column>
</columns>
</table>

注意:1.xml文档中注释也算是一个节点。2.操作上注意的东西太多了,添加节点的时候不能new出xmlnode的对象(因为XmlNode是abstract class类型的)只能通过父节点添加子节点,有点想不明白腻歪得慌。

   

posted @ 2012-02-08 18:53  多睡发芽  阅读(157)  评论(0)    收藏  举报