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 ...
随机推荐
- mysqldump --flush-logs
<pre name="code" class="html"><pre name="code" class="ht ...
- schedule()函数的调用时机(周期性调度)
今天纠正了一个由来已久的认识错误:一个进程的时间片用完之后,当再次发生时钟中断时内核会调用schedule()来进行调度,把当前的进程上下文切出CPU,并把选定的下一个进程切换进来运行.我一直以为sc ...
- HDU4719-Oh My Holy FFF(DP线段树优化)
Oh My Holy FFF Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) T ...
- BAT笔试试题常见试题总结含答案(持续更新。。。)
(1)试题例如以下: class A { int a; short b; int c; char d; }; class B { double a; short b; int c; char d; } ...
- Swift实现OC中的单例模式
一.MySingle类 import Foundation class MySingle{ //定义单例的属性 var name:String? var age:Int? var height:Dou ...
- 【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别
原文:[C#遗补]获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPa ...
- java,spring,tomcat,跨域设置
通过工具远程访问rest会出现 已阻止跨源请求:同源策略禁止读取位于 http://XXXXX:1200/gyly/busData 的远程资源.(原因:CORS 请求失败). 修改方法 添加Fil ...
- RoboGuice注入框架简单应用
1.设置Activity为RoboActivity; 2.设置界面@ContentView(int resId) 3.使用@InjectView(int resId)反射组件 4.使用@Inject ...
- SharePoint 2013的HTML5特性之响应式布局
今天偶然看到一本书<Pro SharePoint 2013 Branding and Responsive Web Development>,看到SharePoint 2013基于HTML ...
- Ubuntu12.04下使用virtualbox4.3.12 amd64安装XP系统教程
首先第一步打开已安装好的Virtualbox4.3.12,效果图例如以下: 第二步:点击新建进入新建虚拟电脑界面,填写名称,选择类型和版本号(我这里使用的三XP 64bit): 第三步:选择内存大小, ...