在C#中更新XML节点值的最佳方法是什么?

时间:2008-12-02 11:25:20

标签: c# xml xmldocument

我的函数遍历XMLDocument实例的每个节点。它检查当前节点的名称是否在查找列表中。如果是,则对当前节点的值应用适当的验证。

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

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

有没有更好的方法来更新原始文档中的值?我需要以完整的XMLDocument结束,但需要更新节点值。

提前致谢。

2 个答案:

答案 0 :(得分:3)

您是否可以修改现有节点(已经在正确的结构和XMLDocument中使用,然后重新序列化XMLDocument?如果节点是简单的文本包含,那么

.InnerText

属性是你想要的。

答案 1 :(得分:1)

我知道我总是回到这一点,但这听起来像一个例子,巧妙地使用apply-templates和XSLT中的ExtensionObjects会很有效。

那就是说XMLDocument已针对修改进行了优化,所以如果你使用纯编程解决方案,我会直接修改对象,而不是创建一个新的Writer。