代码之家  ›  专栏  ›  技术社区  ›  aepheus

需要编辑时使用xmldocument或xpathdocument进行C xslcompiledTransform?

  •  1
  • aepheus  · 技术社区  · 15 年前

    我在这里做了几个假设:

    1. xpathdocument不可编辑。
    2. XML文档可编辑。
    3. xpathdocument对于 XslCompiledTransform。

    既然如此(如果我错了,请纠正我),是否更好(更有效)地:

    1. 使用进行修改 XML文档,然后转换为 转换前的xpathdocument。 有优化的方法吗 这个?
    2. 只需坚持使用xmldocument 通过转换。

    在某些背景下,我从一个WebService获取了一个复杂的XML,然后使用xpath查找一些需要修改的元素,然后使用XSLT创建HTML。

    事先谢谢你的帮助。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Marc Gravell    15 年前

    这取决于需要多少修改、数据有多大以及您是否熟悉XSLT。如果“不”到最后,只需使用 XDocument 等等(上次我运行配置文件时, X文档 比…快 XmlDocument 为了我的数据 -运行您自己的测试)。使用 XDocument.Load / XDocument.Parse ,找到您的节点,编辑它,然后保存它。


    如果你 必须 然后使用XSLT X文档 不是真正的选择;一旦你把它装进 XML文档 你也可以 停留 具有 XML文档 -我不建议将其解析为 第二 DOM。

    当然,这让我们想知道:为什么要修改XML 外部 如果要使用xslt,则使用xslt;可能只是在xslt期间进行翻译?

    得到100%准确的答案 为了你的数据 当然,你需要分析一下。但是,诸如适当使用XSLT分组构造之类的事情通常会使 许多的 差异大于 XML文档 VS XPathDocument .

        2
  •  1
  •   ChaosPandion    15 年前

    只使用 XmlDocument 转换的类。它必须是一个巨大的文档才能真正看到性能的提高。您可能需要编译 XslCompiledTransform 如果您计划多次使用它,则初始化。