请教一个XML操作的问题

super_admi 2013-05-28 04:21:33
平时很少用C#,这次用C#操作一个XML。

需要完成的动作如下:

XML是一个有三层结构的树,现在我要把第二层全部删除,然后把第三层提升到第二层。

我是这么操作的:

1.定义一个List<XmlNode> promoteNodes;

2.将第三层的Node全部加入进去;

3.RemoveAll()第二层节点;

4.将List中的Node添加为第一层的子节点。

现在问题是,RemoveAll()操作之后,List中的Nodes还有效么?我上面的操作正确否?
...全文
133 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
super_admi 2013-05-28
  • 打赏
  • 举报
回复
其实这里最关键的一个问题是,执行了RemoveAll之后,XmlDocuments上的父子关系肯定是没有了的,但被Remove的所有Node,是否还存在?? 也就是说,RemoveAll是仅仅只断开父节点和子节点的关系,还是把子节点顺手给销毁了?
super_admi 2013-05-28
  • 打赏
  • 举报
回复
引用 3 楼 bdmh 的回复:
你 RemoveAll的谁啊,如果是List,List就空了,如果是xml,list不影响
RemoveAll当然不是List,List是我用来临时保存要留下的数据的。RemoveAll的是XmlDocument的第一层节点的所有子节点。
super_admi 2013-05-28
  • 打赏
  • 举报
回复
引用 1 楼 snow_rock 的回复:
自己写个测试程序不就知道List中的Nodes有没有效 操作正不正确 - -自己动手丰衣足食
测试结果,操作有效。但我不能肯定是否有什么隐患。
configare 2013-05-28
  • 打赏
  • 举报
回复
没有了,节点是引用类型。
路伊阑珊 2013-05-28
  • 打赏
  • 举报
回复
推荐一个比较全面的操作案例,希望对你有用http://blog.csdn.net/cds27/article/details/2305166
bdmh 2013-05-28
  • 打赏
  • 举报
回复
你 RemoveAll的谁啊,如果是List,List就空了,如果是xml,list不影响
removeLove 2013-05-28
  • 打赏
  • 举报
回复
是啊,自己测试下 先麻烦就写个2个节点程序试试啊
雪石 2013-05-28
  • 打赏
  • 举报
回复
自己写个测试程序不就知道List中的Nodes有没有效 操作正不正确 - -自己动手丰衣足食
本科生实验报告 实验课程 XML语言 学院名称 专业名称 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一 年 月 二〇一 年 月 填写说明 1. 适用于本科生所有的实验报告(印制实验报告册除外); 2. 专业填写为专业全称,有专业方向的用小括号标明; 3. 格式要求: 1. 用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 2. 打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左 右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标 准);页码用小五号字底端居中。 3. 具体要求: 题目(二号黑体居中); 摘要("摘要"二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体); 关键词(隔行顶格书写"关键词"三字,提炼3- 5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题; 第1章 ××(小二号黑体居中,段前0.5行) 1.1 ×××××小三号黑体×××××(段前、段后0.5行) 1.1.1小四号黑体(段前、段后0.5行) 参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献 著录规则(GB/T 7714-2005)》。 "学生实"在本次实验中,我进行了本课程中的大部分控件的操作练习,熟悉了Altova " "验 心 "XMLSpy的操作环境,掌握了XML文档的新建以及属性的声明、考虑不同的类型" "得 "、DTD的编写、schema的编写、XSLT的编写以及DOM的程序的编写等,学会了X" " "ML的编写的语法规则,掌握了一些DTD和schema文档的基本语法,掌握了将XM" " "L通过XSLT的编写转换为XHTML的方法,掌握了一些基本的DOM的程序语言的规" " "则定义。通过对C#语言应用练习,掌握C#语言程序的基本结构和编写方法, " " "掌握C#语言基本程序结构,掌握数据类型和程序控制语句的使用方法,如分 " " "支、循环等。掌握了ASP.NET内置的一些对象,包括Request对象、Response " " "对象、Application对象、Session对象和Server对象等的原理,过程以及运 " " "用,掌握了使用ASP.NET数据库的操作,就ADO.NET来说,实现了ASP.NET与数" " "据库之间的连接,实现了前台页面与后台数据库的连接。同时,也还学会了 " " "内置与外置数据库的链接和使用等数据存储技术。对于XSLT文档,主要是将X" " "ML转换为XHTML文档,以便于直接在浏览器中打开,便于查看和修改。掌握了" " "对于XML文档中的数据查询,即通过基于DOM的程序,实现对于输入固定的属 " " "性查询相关的信息。在本次实验中,学生的学号、课程编号即是唯一的主键 " " "。在C#语言实现后,通过输入学生的唯一学号可以查询该学生的姓名信息等 " " ",通过输入课程号,可以查询该科该学生的考试成绩,同时,对于不同的成 " " "绩会输出不同的提示语言,即通过、补考或者是重修等。 " " "不过,在本次试验中遇到了很多的问题请教老师都是热心回答,让我感觉 " " "很有学习的动力。也因此解决了试验过程中遇到的问题,学到了很多有用的 " " "知识和技能,相信这些知识和技能在我的以后的学习生活中都会产生很大的 " " "影响或者帮助。同时,这一次的实验中我也认识到了自己的许多不足,例如 " " "对于编程语言的熟悉度不够、对于一些常见问题的逻辑性不够强等,这将是 " " "以后学习工作中弥补的重难点。 " " " " " " " " "学生(签名): " " "年 月 日 " "指导 " " "教师 " " "评语 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "成绩评定: " " "指导教师(签名): " " "年 月 日 " 实验1、编写格式良好的XML文档 一、实验内容 要求:格式良好,包含XML声明、合理的元素嵌套结构、属性、注释、名称空间。能合理 体现下列数据的语义。 学生信息: 学号(声明为id类型属性),姓名,性别,出生日期 课程信息: 课程编号(声明为id类型属性),课程名,学分,课程说明 成绩信息: 成绩(考虑补考及重修) 实例文档:多个学生、多门课程的成绩(不少于3个学生2门课程) 二、实验过程 xml version="1.0" encoding="UTF-8"?>
logo 设计不会,就这样先凑合了写道 Fuseblog预备开发带在线SHOP功能的个人博客系统.仿照Appfuse 提供一个完全自动化的ant构建脚本.在线SHOP的数据库建模图例已经 在博客中贴出.感兴趣的和我一起搭建,嘻嘻 文档博客地址: http://forum.sinomagazine.com 开发环境: Jcreator-4.5 JDK-1.5 Ant-1.6.1 MYSQL-5 Tomcat-5.5 Spring-2.5.6 Ibatis-2.3.4 问题事项: 1.在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在Jcreator中创建的项目,不支持UTF-8编码,缺省GBK. 以下先列出初步的的ant构建文件的代码: build.xml xml version="1.0" encoding=&quo ... by vb2005xu 2009-06-02 回复 (3) 相关讨论 持续集成简单总结 一、理论篇: 持续集成鼓励尽量短周期内项目团队的代码提交,同时保证每次check in都不会损害我们的构建通过。它跟每日构建的区别就在于代码提交频率更高(一般为一个小时),构建的频率也更高,这样做的目的就是为了快速反馈,使得BUG越早被发现,并能以邮件或者消息(甚至短信)的形式快速反馈给开发人员,从而快速解决问题,并保证构建成功。 二、工具篇: 持续集成 ... by lixw 2008-09-09 回复 (3) 网络相册开发(6)——ant 自动 ... 在工程目录下创建libs/hibernate/ ,放入 hibernate-tools-3.2.0.ga.jar jtidy-4aug2000r7-dev.jar build.properties project.name=sw project.version=1.0 basedir=. build.dir =${basedir}/build web.dir = ${basedir}/WebR ... by vyyv 2009-03-12 回复 (1) ant配置文件实例详解 build.xml 代码 xml version="1.0" encoding="UTF-8"?> 问题。 Antenna介绍 Ant ... by pandonix 2007-08-28 回复 (9) 用Ant 来编译打包您的Anroid应用 ... 通过 activityCreator.py --out myproject your.package.name.ActivityName 命令可以生成一个project ,生成project下面有个bulid.xml 文件,那个东西就可以帮你打包生成了。 来看下ant是怎么做的。 xml version="1.0" ?> 一个来自于埃及的java web ... 怎么又冒出一个web框架? 看看现存的Java web应用程序框架,无一例外的要求花费大量的时间与精力后才可投入生产。对于大多数开发人员来说想要的东西很简单:友好,易于学习并且还具有生产力。因此我们开发了JSPX。 JSPX的主要目标就是打造成为一个“友好的开发者”框架。因为JSPX只基于标准的HTML标签和简单的Java POJO: 1. JSP ... by kyo100900 2009-01-07 回复 (42) NetBeans Struts2 插件更新 NetBeans Struts 2 插件(http://nbstruts2support.dev.java.net)很长时间没有更新了,我对原插件进行了少量修改,并在 NetBeans 6.7 上测试通过,其中修改包括:1.包含了最新的 Struts 2.1.6 库文件。2.更新至最新的 web framework API。3.重新设计了配置面板,支持更加灵活的最初配置。4.少量针对的 ... by gml520 2009-08-27 回复 (4) 新版本的PrettyTools发布,支持 ... PrettyFaces: EL API访问PrettyContext 支持JSF 1.1 增强了错误页面和servlet重定向 PrettyFaces是一个JSF1.2和JSF2.0的扩展,用来创建便于书签收藏、漂亮的网址。 PrettyFaces优雅的解决了这个问题,包括诸如功能:网页装载行动,无缝的跟faces的导航整合,动态视图的ID分配和管理参数分析,无需配置,兼容其他JSF框架。P ... by zly06 2009-09-09 回复 (0) 相关博客 ant模板 < ? xml version = "1.0" ?> < project name= "tax-calculator" default= "package" > < property name= "src.dir" location= "src" / > ... by article2008 2008-07-30 回复 (0) 代码备份build.xml xml version="1.0" encoding="GBK" ?> xmlns:catalina="antlib:org.apache.catalina.ant">

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧