xml的简单操作

 1.写xml

using System.Xml;
 
public void wrietXml(DataSet ds, string path)
    
...{
        XmlDocument xmlDoc;
        XmlNode xmlNode;
        XmlElement xmlElem;

        
//XmlElement是XmlNode,但XmlNode不能增加属性,所以一般有了XmlElement再有XmlNode

        xmlDoc 
= new XmlDocument();
        
//声明
        xmlNode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, """");
        xmlDoc.AppendChild(xmlNode);
        
//根元素
        xmlElem = xmlDoc.CreateElement("""TableInfo""");
        xmlDoc.AppendChild(xmlElem);
        XmlNode root 
= xmlDoc.SelectSingleNode("TableInfo");
        
//root.AppendChild(xmlElem);

        
//结构:TableInfo/table/field
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        
...{
            XmlElement xe1 
= xmlDoc.CreateElement("field");
            
string tableName = ds.Tables[0].Rows[i]["表名"].ToString();
            
if (tableName != "")
            
...{//增加table节点
                xmlElem = xmlDoc.CreateElement("table");
                xmlElem.SetAttribute(
"name", tableName);
                xmlElem.SetAttribute(
"descript""");
                root.AppendChild(xmlElem);
            }


            
//增加field节点
            string fieldName = ds.Tables[0].Rows[i]["字段名"].ToString();
            xe1.SetAttribute(
"name", fieldName);
            xe1.SetAttribute(
"descript""");
            xmlElem.AppendChild(xe1);
            
        }


        xmlDoc.Save(path);
    }

2.读xml

(1)利用dataset

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    
...{
        
//从xml文件中读出信息
        string file = Server.MapPath("Images"+ "/info.xml";
        DataSet ds 
= new DataSet();

        
//xml文件读到dataset中
        ds.ReadXml(file);
        DataView dv 
= new DataView(ds.Tables[1]);
        
//对dataview进行简单的查询
        dv.RowFilter = "table_Id = " + DropDownList1.SelectedItem.Value;
        DropDownList2.DataSource 
= dv;
        DropDownList2.DataTextField 
= "name";
        DropDownList2.DataValueField 
= "name";
        DropDownList2.DataBind();
        DropDownList2.Items.Insert(
0new ListItem("--请选择字段--","-1"));
    }

(2)使用xml命名空间

using System.Xml;

private void button1_Click(object sender, EventArgs e)
...{
            XmlDocument doc 
= new XmlDocument();
            doc.Load(
"../../XML/Expenses1.xml");
            
//XmlNodeList elemList = doc.GetElementsByTagName("fourth");
            XmlNode foundnode = doc.SelectSingleNode("root");

            
//所有节点放在sList
            Stack sList = new Stack(); //Stack变量本来就是指针
            int xLevel = 0;
            AllNodes(foundnode, 
01ref xLevel, sList);  
}


private int AllNodes(XmlNode root, int i, int j, ref int xLevel, Stack sList)
...{//将所有节点放到队列中,并记录其信息
            
//root:树根 i:以root为根的树拥有的叶子节点数,叶子节点为0  j:表示处于树的第几层 xLevel:树的高度 sList:用来存放树中所有节点的堆栈

            
if (!root.HasChildNodes)
            
...{//叶节点
                node n1;
                n1.n 
= root;
                n1.i 
= i;
                n1.j 
= j;
                sList.Push(n1);
//qList.Enqueue(n1);
                if (j > xLevel) xLevel = j;
                
return 1;
            }

            
else
            
...{//非叶节点
                XmlNode x = root.LastChild;//XmlNode x = root.FirstChild;
                while (x != null)
                
...{
                    i 
+= AllNodes(x, 0, j+1ref xLevel, sList);
                    x 
= x.PreviousSibling;//x = x.NextSibling;
                }


                node n2;
                n2.n 
= root;
                n2.i 
= i;
                n2.j 
= j;
                sList.Push(n2);
//qList.Enqueue(n2);
                return i;

            }

}
阅读更多
想对作者说点什么? 我来说一句

js对xml的简单操作

2013年01月23日 4KB 下载

C#操作XML实例 完整项目 C#源代码

2012年04月02日 981KB 下载

Xml的添加操作与节点的描述

2011年07月02日 672KB 下载

没有更多推荐了,返回首页

不良信息举报

xml的简单操作

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭