【问题标题】:what is the best way to update an XML node value in C#?在 C# 中更新 XML 节点值的最佳方法是什么?
【发布时间】:2008-12-02 11:25:20
【问题描述】:

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

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

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

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

提前致谢。

【问题讨论】:

    标签: c# xml xmldocument


    【解决方案1】:

    你不能修改现有节点(它们已经在正确的结构和 XMLDocument 中吃掉,然后重新序列化 XMLDocument?如果节点是简单的文本容器,那么

    .InnerText
    

    房产是你想要的。

    【讨论】:

    • 我认为这可以做到。我一直使用 .InnerText 来获取值,但不知道您也可以使用它来将值设置回 XmlDocument 中。谢谢!
    【解决方案2】:

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

    也就是说 XMLDocument 已针对修改进行了优化,因此如果您使用纯编程解决方案,我将直接修改对象,而不是创建新的 Writer。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多