??图十二所示的代码演示了客户端用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分析器。
以上就是在.NET Framework中轻松处理XML数据(5-2) 的内容,更多相关内容请关注PHP中文网(www.php.cn)!