xml的简单操作

原创 2007年10月09日 12:30:00

 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;

            }

}

[转]四种操作XML方式的比较

1. 介绍 1)DOM(JAXP Crimson解析器)         DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构...
  • zj19880814
  • zj19880814
  • 2013年10月12日 14:12
  • 1041

[JQ权威指南]JQuery操作XML数据

(1)功能描述 在上个例子上加一个ID,并在页面中增加一个删除链接,向服务端发起删除请求,服务端接收请求后,删除学生对应的ID记录。修改XML数据。。。 HTML:...
  • david_520042
  • david_520042
  • 2016年08月02日 09:02
  • 1834

xml的 一些简单操作

以前总是从xml中读取字段,来做简单的使用,譬如这次我在一个xml文件中存放了一些几个部门的信息,我以为只是简单的读取呢,后来才发现还需要有一个部门管理的界面,就是可以对部门进行修改、删除、增加的操作...
  • jiazhongkai521
  • jiazhongkai521
  • 2013年07月09日 16:30
  • 351

简单XML读写操作

创建XML         ///         /// 创建XML         ///         ///         public void CreateXMLFil...
  • u010037549
  • u010037549
  • 2013年12月12日 17:48
  • 384

XML的简单操作

所有对文档节点的操作在之前都要先引用命名空间system.xml,同时,对xml文档信息操作时,要先声明xml文档对象,加载我们想要操作的文档后才能执行。就像我们如果想要去拜访一位老师,要先确定老师的...
  • WKX18330698534
  • WKX18330698534
  • 2016年09月07日 20:55
  • 391

.NET操作XML文件---[添加]

最近学习了.NET操作XML文件,总结如下: 关于XML 全名:可扩展标记语言 (Extensible Markup Language) XML用于标记电子文件使其具有结构性的标记语言,可以用来...
  • wyzhangchengjin123
  • wyzhangchengjin123
  • 2013年03月06日 12:02
  • 3089

nodejs简单操作xml

这里简单介绍一下nodejs的第三方模块xml2js操作xml 多的不说了,直接进入主题: 下面是我要操作的xml: 具体代码如下: 运行结果:...
  • qq_36453032
  • qq_36453032
  • 2017年06月19日 15:53
  • 3381

关于XML的读写操作以及查询操作

我们在做一些项目的时候,往往会用XML来配置内部成员,部署他们之间的关系,使得程序运行起来不至于太混乱,今天就稍微讲解一下关于XML的一些用法。...
  • hasion
  • hasion
  • 2015年02月09日 10:42
  • 885

简单XML操作类

/// /// 返回XMl文件指定元素的指定属性值 /// /// 指定元素 /// 指定属性 ...
  • thunder_0927
  • thunder_0927
  • 2014年08月13日 14:32
  • 372

c#操作xml文档的通用类

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu...
  • zhujunxxxxx
  • zhujunxxxxx
  • 2014年01月19日 13:22
  • 2024
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xml的简单操作
举报原因:
原因补充:

(最多只允许输入30个字)