在.NETFramework中轻松处理XML数据(5-2)
作者:天佑土土土 | 来源:互联网 | 2014-05-04 00:08
??图十二所示的代码演示了客户端用XmlTextReadWriter类在读把持的同时修正属性值的上风。在本期的msdn中供给了XmlTextReadWriter类的C#和VB源代码下载(见本文开头供给的链接)。Figure1
??图十二所示的代码演示了客户端用XmlTextReadWriter类在读把持的同时修正属性值的上风。在本期的msdn中供给了XmlTextReadWriter类的C#和VB源代码下载(见本文开头供给的链接)。
Figure 12 Changing Attribute Values
private void ApplyChanges(string nodeName, string attribName,
string oldVal, string newVal)
{
XmlTextReadWriter rw = new XmlTextReadWriter(InputFileName.Text,
OutputFileName.Text);
rw.WriteStartDocument(true, CommentText.Text);
// 手工修正根节点
rw.Writer.WriteStartElement(rw.Reader.LocalName);
// 开端修正属性
// (可以修正更多节点的属性)
rw.AddAttributeChange(nodeName, attribName, oldVal, newVal);
// 循环处理文档
while(rw.Read())
{
switch(rw.NodeType)
{
case XmlNodeType.Element:
rw.Writer.WriteStartElement(rw.Reader.LocalName);
if (nodeName == rw.Reader.LocalName)
// 修正属性
rw.WriteAttributes(nodeName);
else
// deep copy
rw.Writer.WriteAttributes(rw.Reader, false);
if (rw.Reader.IsEmptyElement)
rw.Writer.WriteEndElement();
break;
}
}
// Close the root tag
rw.Writer.WriteEndElement();
// Close the document and any internal resources
rw.WriteEndDocument();
}
??XmlTextReadWriter类不仅可以读XML文档,也可以写XML文档。你可以它来读XML文档的内容,假如需要,你还可以用它来做一些基础的更新把持。基础的更新把持在这里是指修正某个已存在的属性的值或者某个节点的内容,又或者是增加一个新的属性或节点。对于更复杂的把持,最好还是用XMLDOM分析器。
??总结
??Reader和Writer是.NET Framework中处理XML数据的基本。它们供给了对所有XML数据拜访功效的原始的API。Reader像一个新的分析器类,它即有XMLDOM的强盛,又有SAX的快速简略。Writer为简略的创立XML文档而设计。固然Reader和Writer都是.NET Framework中的一小块,但是它们是相互独立的API。在本文中,我们只讨论了怎么样用Reader和Writer完成一些重要的工作, 先容了验证分析器的原理机制,并把Reader和writer整合在一个单独的类中。上述所有的这些类都是轻量级的,类似于游标式的XMLDOM分析器。
推荐阅读
-
C#编程指南:实现列表与WPF数据网格的高效绑定方法 ...
[详细]
蜡笔小新 2024-10-31 10:46:47
-
当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ...
[详细]
蜡笔小新 2024-10-31 10:28:12
-
-
许多开发者可能未曾留意到这一问题,但如果您的网站频繁遭遇不明原因的乱码现象,深入了解代码页与字符集的概念及其实际应用将大有裨益。代码页(Codepage),即内码表,是计算机系统中用于映射字符与其编码值的一种机制,不同的代码页支持不同的字符集,正确选择和配置代码页对于确保文本数据的准确显示至关重要。在多语言环境下,合理运用字符集和代码页能够有效避免字符编码冲突,提升用户体验。 ...
[详细]
蜡笔小新 2024-10-29 16:31:09
-
本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ...
[详细]
蜡笔小新 2024-10-28 23:56:36
-
本文探讨了如何在 Google Sheets 中通过自定义函数实现 AJAX 调用。具体介绍了编写脚本的方法,以便在电子表格中发起 AJAX 请求,从而实现数据的动态获取与更新。这种方法不仅简化了数据处理流程,还提高了工作效率。 ...
[详细]
蜡笔小新 2024-11-01 09:54:38
-
通过运用 ViewComponents 技术,在 Asp.Net Core 中实现了高效的分页组件开发。本文详细介绍了如何通过创建 `PaginationViewComponent` 类并利用 `HelloWorld.DataContext` 上下文,实现对分页参数的定义与管理,从而提升 Web 应用程序的性能和用户体验。 ...
[详细]
蜡笔小新 2024-10-29 10:04:02
-
在Office 7的VBA环境中,使用宏求解时频繁遇到语法错误问题分析与解决方法 ...
[详细]
蜡笔小新 2024-10-28 16:53:03
-
在解决MacBook安装Windows过程中遇到的“无法将支持软件保存至选定驱动器”问题时,许多用户反映现有方案过于复杂。本文提出了一种更为简便的替代方法,通过优化下载路径和驱动器选择,有效解决了这一常见难题。此外,我们还提供了详细的步骤说明和注意事项,帮助用户顺利完成Windows系统的安装。 ...
[详细]
蜡笔小新 2024-10-28 13:06:36
-
本文深入探讨了 C# 中 `SqlCommand` 和 `SqlDataAdapter` 的核心差异及其应用场景。`SqlCommand` 主要用于执行单一的 SQL 命令,并通过 `DataReader` 获取结果,具有较高的执行效率,但灵活性较低。相比之下,`SqlDataAdapter` 则适用于复杂的数据操作,通过 `DataSet` 提供了更多的数据处理功能,如数据填充、更新和批量操作,更适合需要频繁数据交互的场景。 ...
[详细]
蜡笔小新 2024-10-28 12:25:41
-
本文深入探讨了C#编程中的跳转语句和异常处理机制。通过详细解析穷举法的应用,重点讲解了如何利用for嵌套循环解决复杂问题。强调了在使用for循环时,应明确初始变量的定义和循环条件的变化规律,以提高代码的效率和可读性。此外,文章还介绍了常见的跳转语句,如break、continue和goto,并结合实例分析了它们在不同场景下的应用。在异常处理部分,详细阐述了try-catch-finally结构的使用方法及其在程序健壮性和错误处理中的重要性。 ...
[详细]
蜡笔小新 2024-10-28 11:21:12
-
本文深入探讨了Unity中的URP、SRP和HDRP渲染管线,详细解析了它们之间的关系及各自的特点。首先介绍了SRP的基本概念及其在Unity渲染架构中的作用,随后重点阐述了URP和HDRP的设计理念与应用场景。文章还分析了SRP诞生的背景,解释了为何Unity需要引入这一灵活的渲染框架,以满足不同项目的需求。通过对比URP和HDRP,读者可以更好地理解如何选择合适的渲染管线,以优化项目的性能和视觉效果。 ...
[详细]
蜡笔小新 2024-10-28 09:54:14
-
手机上编写和运行PHP代码的最佳软件推荐 ...
[详细]
蜡笔小新 2024-10-27 21:10:40
-
最大化两个非空子集之间的和的差异:集合划分策略分析 ...
[详细]
蜡笔小新 2024-10-27 20:51:46
-
寻找数组 O(n) 中两数组合的最小和值 ...
[详细]
蜡笔小新 2024-10-27 19:10:37
-
本文介绍了如何使用Python中的PyQt5和OpenCV库来实现电脑摄像头的图像捕捉功能。通过结合这两个强大的工具,用户可以轻松地打开摄像头并进行实时图像采集和处理。代码示例展示了如何初始化摄像头、捕获图像并将其显示在PyQt5的图形界面中。此外,还提供了详细的步骤说明和代码注释,帮助开发者快速上手并实现相关功能。 ...
[详细]
蜡笔小新 2024-10-27 14:30:10
-