2008-12-02 69 views
1

我的函数遍历XMLDocument实例的每个节点。它检查当前节点的名称是否在查找列表中。如果是,则对当前节点的值应用适当的验证。在C#中更新XML节点值的最佳方式是什么?

当验证方法指示该值已更改时,我想用更新后的值替换原始文档中的值。

我认为最简单的方法可能是在处理原始XMLDocument中的每个节点时写出一个XMLTextWriter,要么根据需要写出原始或修改的节点和值。此方法将依赖于确定当前节点是否有任何子节点,或者是否是独立节点。

有没有更好的方法可以更新原始文档中的值?我需要结束整个XMLDocument,但在适当的情况下更新节点值。

在此先感谢。

回答

3

您不能修改现有节点(已经吃了正确的结构和一个XMLDocument,然后重新连载XmlDocument的?如果节点是简单的文本containters那么

.InnerText 

属性的一个你想要的。

+0

我认为这可以做到这一点。我总是使用.InnerText来获取值,但没有意识到你可以用它来将值重新设置回XmlDocument。谢谢! – 2008-12-02 11:54:58

1

我知道我经常回这个,但是这听起来像一个例子,其中巧妙地使用应用模板和XSLT ExtensionObjects将是有效的。

那说的XMLDocument是对M优化odification,所以如果你打算使用纯粹的编程解决方案,我会直接修改对象,而不是创建一个新的Writer。

相关问题