C#对XML完整操作

上传人:飞*** 文档编号:47768505 上传时间:2018-07-04 格式:PDF 页数:29 大小:28.09KB
返回 下载 相关 举报
C#对XML完整操作_第1页
第1页 / 共29页
C#对XML完整操作_第2页
第2页 / 共29页
C#对XML完整操作_第3页
第3页 / 共29页
C#对XML完整操作_第4页
第4页 / 共29页
C#对XML完整操作_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C#对XML完整操作》由会员分享,可在线阅读,更多相关《C#对XML完整操作(29页珍藏版)》请在金锄头文库上搜索。

1、C# 对 XML完整操作http:/ 类型 时间 信息 姓名 类型 时间 信息 姓名 1.XML数据格式如上,要求程序有读. 写. 编辑 . 删除操作2. 请尽可能帮忙写备注3.xml 数据读入到treeview中,分别显示各个字段,并按时间顺序排序4. 请不要复制网上代码,很多都是出现杂七杂八问题呢5. 代码请尽量简洁6. 如果好用,再加感谢分_ 回答一/ 假定 TreeView 控件的 id 为 treeView XmlDocument dom = new XmlDocument(); dom.Load(“aaa.xml“);/装载 XML文档/ 遍历所有节点int num = 0; fo

2、reach(XmlElement birthday in dom.DocumentElement.ChildNodes) / 读取数据string type = birthday.SelectSingleNode(“type“).InnerText; string date = birthday.SelectSingleNode(“date“).InnerText; string title = birthday.SelectSingleNode(“title“).InnerText; string name = birthday.SelectSingleNode(“name“).InnerT

3、ext; string text = name + “:“ + title;/节点文字string image = type;/节点图片string data = num.ToString();/节点对应数据num+; / 装载示例,将新建的节点添加到TreeView TreeNode node = new TreeNode(text, data, image);/create a new node treeView.Nodes.Add(node); / 编辑示例 : 将当前节点的生日更改为当前日期birthday.SelectSingleNode(“date“).InnerText = Da

4、teTime.Now.ToString(); / 删除示例:将当前节点删除birthday.ParentNode.RemoveChild(birthday); dom.Save(); 回答二这是以前自己做过的一个测试。楼主可以参考一下。=bookstore.XML 内容 = CS从入门到精通 候捷 58.3 CS从入门到精通 候捷 58.3 = 读取 = XmlDocument doc = new XmlDocument(); doc.Load(“d:bookstore.xml“); XmlElement root = doc.DocumentElement; MessageBox.Show(

5、root.SelectNodes(“book“)0.InnerText); = 添加 = XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(“d:bookstore.xml“); XmlNode root = xmlDoc.SelectSingleNode(“bookstore“);/查找XmlElement xe1 = xmlDoc.CreateElement(“book“);/创建一个 节点xe1.SetAttribute(“genre“, “李赞红 “);/设置该节点的genre 属性xe1.SetAttribute(“ISBN“,

6、“2-3631-4“);/设置该节点的ISBN属性XmlElement xesub1 = xmlDoc.CreateElement(“title“);/添加一个名字为title的子节点xesub1.InnerText = “CS从入门到精通“;/设置文本xe1.AppendChild(xesub1);/把 title添加到 节点中XmlElement xesub2 = xmlDoc.CreateElement(“author“); xesub2.InnerText = “候捷 “; xe1.AppendChild(xesub2); XmlElement xesub3 = xmlDoc.Crea

7、teElement(“price“); xesub3.InnerText = “58.3“; xe1.AppendChild(xesub3); root.AppendChild(xe1);/把 book 添加到 根节点中xmlDoc.Save(“d:bookstore.xml“); = 修改 = XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(“d:bookstore.xml“); XmlNodeList nodeList = xmlDoc.SelectSingleNode(“bookstore“).ChildNodes;/获取 book

8、store节点的所有子节点foreach (XmlNode xn in nodeList)/遍历所有名字为bookstore的子节点 XmlElement xe = (XmlElement)xn;/将子节点类型转换为XmlElement类型if (xe.GetAttribute(“genre“) = “ 李赞红 “)/如果 genre 属性值为“李赞红” xe.SetAttribute(“genre“, “update李赞红 “);/则修改该属性为“update 李赞红”XmlNodeList nls = xe.ChildNodes;/继续获取xe(xn) 子节点的所有子节点foreach (

9、XmlNode xn1 in nls)/遍历 XmlElement xe2 = (XmlElement)xn1;/转换类型if (xe2.Name = “author“)/如果找到 xe2.InnerText = “亚胜 “;/则修改break;/找到退出来 break; xmlDoc.Save(“d:bookstore.xml“);/保存。= 删除 = XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(“d:bookstore.xml“); XmlNodeList xnl = xmlDoc.SelectSingleNode(“bookst

10、ore“).ChildNodes; foreach (XmlNode xn in xnl) XmlElement xe = (XmlElement)xn; if (xe.GetAttribute(“genre“) = “fantasy“) xe.RemoveAttribute(“genre“);/删除 genre 属性 else if (xe.GetAttribute(“genre“) = “update李赞红 “) xe.RemoveAll();/删除该节点的全部内容 xmlDoc.Save(“d:bookstore.xml“); 回答三方法一:使用 XML控件读取 XML方法一 方法二:使

11、用 DOM 技术void Page_Load(Object sender,EventArgs e) XmlDocument doc=new XmlDocument(); doc.Load(Server.MapPath(“grade.xml“); xml1.Document=doc; 读取 XML方法二 方法三:使用 DataSet 对象void Page_Load(Object sender,EventArgs e) DataSet objDataSet=new DataSet(); objDataSet.ReadXml(Server.MapPath(“grade.xml“); dgEmplo

12、yees.DataSource=objDataSet.Tables“student“.DefaultView; dgEmployees.DataBind(); 读取 XML方法三 方法四:按文本方式读取private void Page_Load(Object sender,EventArgs e) XmlTextReader objXMLReader=new XmlTextReader(Server.MapPath(“grade.xml“); string strNodeResult=“; XmlNodeType objNodeType; while(objXMLReader.Read()

13、objNodeType =objXMLReader.NodeType; swith(objNodeType) case XmlNodeType.XmlDeclaration: /读取 XML文件头strNodeResult+=“XML Declaration:“+objXMLReader.Name+“+objXMLReader.Value+“; break; case XmlNodeType.Element: / 读取标签strNodeResult+=“Element:“+objXMLReader.Name+“; break; case XmlNodeType.Text: /读取值strNod

14、eResult+=“ -Value:“+objXMLReader.Value+“; break; / 判断该节点是否有属性if(objXMLReader.AttributeCount0) /用循环判断完所有节点while(objXMLReader.MoveToNextAttibute) /取标签和值strNodeResult+=“ -Attribute:“+objXMLReader.Name+“ value:“+objXMLReader.Value+“; LblFile.Text=strNodeResult; 读取 XML方法四 回答四我用的是一种很笨的方法,但可以帮助初学者了解访问XML 节

15、点的过程。已知有一个XML 文件( bookstore.xml )如下:Corets, Eva 5.95 1、插入节点往节点中插入一个节点:XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(“bookstore.xml“); XmlNode root=xmlDoc.SelectSingleNode(“bookstore“);/查找XmlElement xe1=xmlDoc.CreateElement(“book“);/创建一个节点xe1.SetAttribute(“genre“ ,“李赞红 “);/ 设置该节点genre 属性xe1.SetAttribute(“ISBN“ ,“2-3631-4“);/ 设置该节点ISBN属性XmlElement xesub1=xmlDoc.Cre

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号