WPF对于xml的简单操作(上)
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的简单操作(上)的更多相关文章
- WPF对于xml的简单操作(下下)插入节点并排序
正如T所说,下下,这个方法不堪入目, ̄□ ̄|| 贴上再说 //先搞个struct声明 private struct datastruct { public string x; public strin ...
- WPF对于xml的简单操作(下)绑定ListView
上个月做好的,电脑给盗了,没及时存在网盘,也及时发到随笔,于是乎悲哉!搞了一个上午终于绑定好了,有时候就是这么眼瞎,Path和XPath全瞎了,摸滚了一个上午,赶紧的随笔跟上先. <ListVi ...
- Linq对XML的简单操作
前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...
- XML系列之--对电文格式XML的简单操作(三)
前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...
- C# XML,XmlDocument简单操作实例
private static string _Store = LocalPathHelper.CurrentSolutionPath + "/data/bookstore.xml" ...
- java代码用dom4j解析xml文件的简单操作
时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的 ...
- github上创建java项目简单操作
github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客http://blog.csdn.net/qq_29392425/article/detail ...
- XML文档操作之JAXP下实现
JAXP是java API for xml PRocessing的缩写. 其API可以在javax.xml.parsers 这个包中找到.这个包向用户提供了两个最重要的工厂类,SAXParserFac ...
- 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器
从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 之前时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了. Calibu ...
随机推荐
- find . / -newer oldest_file.txt ! -newer newest_file.txt
如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项. 它的一般形式为: $ find . / -newer oldest_file.txt ! -newer newe ...
- OCX控件在IE中无法侦测到键盘消息( MFC ActiveX Control in IE Doesn't Detect Keystrokes)
症状描述: Accelerator keys, such as ARROW keys, are first received by the message pump of the ActiveX co ...
- 代码写解压zip文件
最近项目中服务器方返回了zip文件类型的文件,在网上搜了好多资料做成一个Demo,这里用来详解一下. ZipArchive类来源于网络.还望多多交流. 1.首先添加libz.dylib框架 2.前往h ...
- json介绍及简单示例
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- osgEarth开发之OSG解构——失败的尝试
概述 本文在吸收了<最长的一帧>以及相关参考资料的基础之上解读OSG的基础数据结构,渲染方法. 实现 在这第一部分里,要理解的是run函数的实现,因为以下这一段证明了它的重要性和强大的能力 ...
- Java IO学习笔记:概念与原理
Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...
- MFC之窗体改动工具栏编程状态栏编程程序启动画面
1窗体外观的改动 (1)改动在CMainFrame::preCreateWindow(CREATESTRUCT& cs) 改动标题:cs.style&=FWS_ADDTOTITLE; ...
- ThinkPHP的连贯操作方法中field方法
ThinkPHP的连贯操作方法中field方法有很多的使用技巧,field方法主要目的是标识要返回或者操作的字段,下面详细道来. 1.用于查询 在查询操作中field方法是使用最频繁的. $Model ...
- Effective C++ -- 构造析构赋值运算
05.了解C++默默编写并调用哪些函数 编译产生的析构函数时non-virtual,除非这个类的基类析构函数为virtual 成员变量中有引用和const成员时,无法自己主动生成copy assign ...
- JVM学习03_new对象的内存图讲解,以及引出static方法(转)
目录 -=-讲解对象创建过程中,-=-堆内存和栈内存的情况 -=-构造函数对类对象的成员变量的初始化过程 -=-构造函数出栈 -=-类的方法在不访问类对象的成员变量时造成的内存资源浪费怎么解决? -= ...