private void button1_Click(object sender, RoutedEventArgs e)
{
XmlTextWriter writer = new XmlTextWriter("MyInfo.xml", System.Text.Encoding.UTF8);
//使用自动缩进便于阅读
writer.Formatting = Formatting.Indented;
//XML声明
writer.WriteStartDocument();
//书写根元素
writer.WriteStartElement("Root");
//开始一个元素
writer.WriteStartElement("Item ");
//向先前创建的元素中添加一个属性
writer.WriteAttributeString("id", "");
//添加子元素
writer.WriteElementString("X", "x1");
writer.WriteElementString("Y", "y1");
writer.WriteElementString("Z", "z1");
//关闭item元素
writer.WriteEndElement(); // 关闭元素
//在节点间添加一些空
writer.Close();
}
//读取xml数据
private void button2_Click(object sender, RoutedEventArgs e)
{
string ExePath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\MyInfo.xml";
try
{
// 1.创建一个XmlDocument类的对象
XmlDocument doc = new XmlDocument();
// 2.把你想要读取的xml文档加载进来
doc.Load(ExePath);
// 3.读取你指定的节点
XmlNode xn = doc.SelectSingleNode("Root");
XmlNodeList lis = xn.ChildNodes;
// 4.取节点中的值
String str = lis[].InnerText;
MessageBox.Show(str);
}
catch
{
MessageBox.Show("配置文件存在异常!");
} } //插入xml数据
private void button3_Click(object sender, RoutedEventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("MyInfo.xml");
XmlNode root = xmlDoc.SelectSingleNode("Root");//查找父节点
XmlElement xe1 = xmlDoc.CreateElement("Item");//创建一个子节点
xe1.SetAttribute("id", "");//设置该节点id属性
XmlElement xesub1 = xmlDoc.CreateElement("X");
xesub1.InnerText = "x3";//设置文本节点
xe1.AppendChild(xesub1);//添加到<MyInfo>节点中
XmlElement xesub2 = xmlDoc.CreateElement("Y");
xesub2.InnerText = "y3";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("Z");
xesub3.InnerText = "z3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//添加到<bookstore>节点中
xmlDoc.Save("MyInfo.xml");
} //删除xml数据
private void button4_Click(object sender, RoutedEventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("MyInfo.xml");
XmlNode xmlRoot = xmlDoc.SelectSingleNode("Root");
XmlNodeList xnl = xmlRoot.ChildNodes;
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("id") == "")
{
xmlRoot.RemoveChild(xn);
}
}
xmlDoc.Save("MyInfo.xml");
} //修改xml数据
private void button5_Click(object sender, RoutedEventArgs e)
{
} //显示xml数据
private void button6_Click(object sender, RoutedEventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("MyInfo.xml");
XmlNode xn = xmlDoc.SelectSingleNode("Root");
XmlNodeList xnl = xn.ChildNodes;
string str = "";
string str1 = "";
string str2 = "";
foreach (XmlNode xnf in xnl)
{
XmlElement xe = (XmlElement)xnf;
XmlNodeList xnf1 = xe.ChildNodes;
str = xnf1[].InnerText;
str1 = xnf1[].InnerText;
str2 = xnf1[].InnerText;
MessageBox.Show("X:" + str + "\n" + "Y:" + str1 + "\n" + "Z:" + str2);
}
MessageBox.Show("X:" + str + "\n" + "Y:" + str1 + "\n" + "Z:"+str2);
}

原代码是在网上搜的,我按照自己想要的效果修修改改,至少使得自己能看的一目了然,快要下班赶紧上传上来,修改部分有空补上

WPF对于xml的简单操作(上)的更多相关文章

  1. WPF对于xml的简单操作(下下)插入节点并排序

    正如T所说,下下,这个方法不堪入目, ̄□ ̄|| 贴上再说 //先搞个struct声明 private struct datastruct { public string x; public strin ...

  2. WPF对于xml的简单操作(下)绑定ListView

    上个月做好的,电脑给盗了,没及时存在网盘,也及时发到随笔,于是乎悲哉!搞了一个上午终于绑定好了,有时候就是这么眼瞎,Path和XPath全瞎了,摸滚了一个上午,赶紧的随笔跟上先. <ListVi ...

  3. Linq对XML的简单操作

    前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...

  4. XML系列之--对电文格式XML的简单操作(三)

    前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...

  5. C# XML,XmlDocument简单操作实例

    private static string _Store = LocalPathHelper.CurrentSolutionPath + "/data/bookstore.xml" ...

  6. java代码用dom4j解析xml文件的简单操作

    时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的 ...

  7. github上创建java项目简单操作

    github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客http://blog.csdn.net/qq_29392425/article/detail ...

  8. XML文档操作之JAXP下实现

    JAXP是java API for xml PRocessing的缩写. 其API可以在javax.xml.parsers 这个包中找到.这个包向用户提供了两个最重要的工厂类,SAXParserFac ...

  9. 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器

    从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 之前时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了. Calibu ...

随机推荐

  1. (Android) Download Images by AsyncTask API

    1. Check network status AndroidManifest.xml <uses-sdk> ... </> <uses-permission andro ...

  2. Face-landmarks-detection-benchmark 人脸特征定位网站汇总

    源地址:https://www.douban.com/note/525032729/   https://github.com/delphifirst/FaceXhttps://github.com/ ...

  3. 指尖上的电商---(3)Solr全文搜索引擎的配置

    接上篇,Solr的准备工作完毕后,本节主要介绍Solr的安装,事实上Solr不须要安装.直接下载就能够了      1.Solr配置 下载地址 :http://lucene.apache.org/so ...

  4. UpdataData

    MFC中有一个UpdataData函数,有二个参数:TRUE和FLASE,二个参数什么时候用, 开始的时候我也迷糊,后来才发现: UpdataData(TRUE):是把控件上的值刷新到变量中: Upd ...

  5. [Android学习笔记]子线程更新UI线程方法之Handler

    关于此笔记 不讨论: 1.不讨论Handler实现细节 2.不讨论android线程派发细节 讨论: 子线程如何简单的使用Handler更新UI 问题: android开发时,如何在子线程更新UI? ...

  6. hdu4496 D-City

    D-City Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submis ...

  7. U盘1G变8M解决的方法

    本人曾有一个大小为1G的纽曼U盘,在一年前不幸中毒,格式化之后就仅仅剩8M了,然后再也无法正常格式化.尽管仅仅有8M,但总认为扔了可惜,于是乎,就一直束之高阁.昨天突然心血来潮,决定再试一试,纯粹是死 ...

  8. lua的table库中经常使用的函数

    lua提供了一些辅助函数来操作table. 比如,从list中insert和remove元素,对array的元素进行sort.或者concatenate数组中的全部strings.以下就具体地解说这些 ...

  9. MySQL JDBC事务处理、封装JDBC工具类

    MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...

  10. poj - 1170 - Shopping Offers(减少国家dp)

    意甲冠军:b(0 <= b <= 5)商品的种类,每个人都有一个标签c(1 <= c <= 999),有需要购买若干k(1 <= k <=5),有一个单价p(1 & ...