社区
C#
帖子详情
关于用C#对一树型的XML树型文件的操作
IT_Fish
2007-06-24 12:54:46
麻烦大家能不能帮我看看一个树型的XML文件的相关操作
XML因为比较复杂,所以我放在下面的地址,麻烦各位下载看下
http://www.szqyjy.com/TEMP/XML.rar
现在我的难点是怎么对其数据进行操作:
1.添加一个新的实例到XML中;
2.对树型XML中的某个实例的节点的增减
我参考了些资料,可是还是没法下手,不得已,只能寻求下帮助,请各位帮忙看看.
如果分不够我可以再开.谢谢了.
...全文
383
7
打赏
收藏
关于用C#对一树型的XML树型文件的操作
麻烦大家能不能帮我看看一个树型的XML文件的相关操作 XML因为比较复杂,所以我放在下面的地址,麻烦各位下载看下 http://www.szqyjy.com/TEMP/XML.rar 现在我的难点是怎么对其数据进行操作: 1.添加一个新的实例到XML中; 2.对树型XML中的某个实例的节点的增减 我参考了些资料,可是还是没法下手,不得已,只能寻求下帮助,请各位帮忙看看. 如果分不够我可以再开.谢谢了.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT_Fish
2007-06-29
打赏
举报
回复
谢谢大家,结贴!
IT_Fish
2007-06-24
打赏
举报
回复
忘了说下,我是用在WinForm下开发的
wangsaokui
2007-06-24
打赏
举报
回复
这个例子涉及了添加、删除、查询,基本上可以满足你的需求,你的XML我没有时间看,自己改改吧
wangsaokui
2007-06-24
打赏
举报
回复
using System;
using System.Xml.Serialization;
using System.Xml;
using System.IO;
namespace XMLOperate
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
try
{
// XmlTextWriter writer = new XmlTextWriter("coil.xml", null);
// writer.Formatting = Formatting.Indented;
// writer.WriteStartElement("coils");
// writer.WriteEndElement();
// writer.Flush();
// writer.Close();
XmlDocument doc = new XmlDocument();
doc.Load("coil.xml");
XmlElement root = doc.DocumentElement;
// Add_Node(doc,root);
Query_Node(root);
//Delete_Node(doc,root);
// Console.WriteLine("Begin....................");
show_child_node(root);
// Console.WriteLine("End......................");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
Console.ReadLine();
}
}
public static void Add_Node(XmlDocument doc, XmlNode root)
{
XmlElement masterelem = doc.CreateElement("coil");
root.AppendChild(masterelem);
XmlElement detailelem = doc.CreateElement("coil_id");
detailelem.InnerText="A131";
masterelem.AppendChild(detailelem);
Console.WriteLine("sucessful 1");
detailelem = doc.CreateElement("coil_length");
detailelem.InnerText="12345";
masterelem.AppendChild(detailelem);
Console.WriteLine("sucessful 2");
detailelem = doc.CreateElement("coil_width");
detailelem.InnerText="1780";
masterelem.AppendChild(detailelem);
detailelem = doc.CreateElement("coil_thickness");
detailelem.InnerText="500";
masterelem.AppendChild(detailelem);
detailelem = doc.CreateElement("coil_weight");
detailelem.InnerText="21345";
masterelem.AppendChild(detailelem);
doc.Save("coil.xml");
Console.WriteLine("append finish!");
}
public static bool Query_Node(XmlNode rootNode)
{
XmlNode elem = rootNode.SelectSingleNode("descendant::coil[coil_id='A131']");
if (elem!=null)
{
Console.WriteLine(elem.ChildNodes[1].InnerText.ToString());
return true;
}
else
{
Console.WriteLine("not found node");
return false;
}
}
public static void Delete_Node(XmlDocument doc, XmlNode rootNode)
{
if (Query_Node(rootNode))
{
XmlNode elem = rootNode.SelectSingleNode("descendant::coil[coil_id='A121']");
elem.RemoveAll();
doc.Save("coil.xml");
Console.WriteLine("already delete from xml file");
}
}
public static void show_child_node(XmlNode Node)
{
if (Node.HasChildNodes)
{
for (int i=0; i<Node.ChildNodes.Count; i++)
{
Console.WriteLine(Node.ChildNodes[i].Name + "--" + Node.ChildNodes[i].InnerText.ToString());
show_child_node(Node.ChildNodes[i]);
}
}
}
}
}
相应的XML见下:
<coils>
<coil>
<coil_id>A135</coil_id>
<coil_length>12345</coil_length>
<coil_width>1780</coil_width>
<coil_thickness>500</coil_thickness>
<coil_weight>21345</coil_weight>
</coil>
<coil>
<coil_id>A131</coil_id>
<coil_length>12345</coil_length>
<coil_width>1780</coil_width>
<coil_thickness>500</coil_thickness>
<coil_weight>21345</coil_weight>
</coil>
</coils>
zzzapple
2007-06-24
打赏
举报
回复
试试将XML反序列化为一个对象,对对象进行你要的操作,再序列化回XML
haoya1
2007-06-24
打赏
举报
回复
Xml.XmlElement已经提供了大量操作XML的方法,要操作XML首选是要懂得xPath
xiaoliangwh
2007-06-24
打赏
举报
回复
up
c#
实现对
XML
(OPML)文档动态生成
树型
菜单及对相应节点的
操作
维护
利用
c#
实现对
XML
(OPML)文档的
操作
,根据OPML文档动态刷新出
树型
结构,然后对数型控件的
操作
将直接影响到相应的
XML
文档内容,感觉很实用
VC读取并解析
XML
文件
.并以
树型
控件显示其内容.zip
VC读取并解析
XML
文件
.并以
树型
控件显示其内容.zip
SpringBoot项目实战+SpringCoud
本套课程主要是一系列Java项目课程,通过理论加实战的方式,让学习Java的同学深入掌握开发实用技能,每个项目都提供了课件和源码 技术包含: 云盘项目: 1. Java基本语法和面向对象 2. 集合、
文件
IO、反射、网络编程...
C#
示例(配套光盘源码)第一部分
实例074 使用
C#
操作
XML
文件
257 实例075 创建PDF文档 261 实例076 批量将Word文档转换为HTML网页 263 实例077 Word目录提取工具 265 实例078
文件
批量解压缩 269 第8章 网络开发应用 实例079 局域网...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章