System.Xml 是否使用 MSXML?

Does System.Xml use MSXML?

提问人:Brian Ensink 提问时间:8/16/2008 更新时间:3/23/2022 访问量:3571

问:

我正在开发一个 C# 应用程序,它使用一些 XML 文件和 System.Xml 中的一些类。一位同事坚持将 MSXML6 可再发行组件与 .NET 框架一起添加到我们的安装中,但我认为 .NET 框架无论如何都不会使用或需要 MSXML。我很清楚不支持从 .NET 使用 MSXML,但我认为 System.Xml 本身理论上可以在低级别包装 MSXML。我没有找到任何确定的 .NET 有自己的实现,但我也找不到任何表明它需要 MSXML 的东西。

帮我解决这场辩论。System.Xml 是否使用 MSXML?

.NET XML MSXML

评论


答:

14赞 Nate Smith 8/16/2008 #1

System.Xml 不使用 MSXML6。它们是独立的 xml 处理引擎。请参阅此处的帖子:MSXML 6.0 与 System.Xml:架构处理差异

-1赞 Keith 8/16/2008 #2

我认为某些 MsSql-XML 功能需要它,但 System.Xml 位于核心框架中。

无论如何,您都应该在新机器上测试您的安装程序,以确保万无一失。

0赞 Will Dean 8/16/2008 #3

没有必要让这种东西成为繁琐的工作场所辩论的主题,因为框架的源代码是可用的,而且只需极少量的工作,你就可以将全部下载到你的机器上。http://www.codeplex.com/NetMassDownloader

再做一点工作,你就可以制作一个包含所有框架源代码的 VS 项目,这使得它更容易浏览。

1赞 Vincent 8/16/2008 #4

System.Xml 位于核心框架中,不依赖于 MSXML 6.0,但它共享一些通用 API(DOM 分析器、SAX 分析器、XPath 节点选择)。

0赞 Samuel Zhang 4/7/2010 #5

.Net Framework 使用 MSXML6 在 WinXP SP2 和 W2K3 SP2 上进行安装,前提是 MSXML6 不在框中。System.Xml 是 MSXML6 的不同产品,尽管某些 API 具有相似的签名。