C# · 12月 25, 2021

在C#中读写XML

我正在使用.NET 4.0 Framework.我需要编写一些 XML来与Web服务进行交互.传递给Web服务的参数将由最终用户输入.

我的问题是,这些天与XML交互的推荐方法是什么?似乎每个版本的.NET Framework都有一种新方法可以做同样的事情.但这并不一定意味着它是最好的.在这种情况下社区推荐什么?

解决方法 每个版本都没有新的版本.只有两个.不幸的是应该有两个,但肯定不会超过两个.

我推荐的是System.Xml.Linq.XDocument及其相关的类.它们提供了一个干净,有用的API,允许您使用LINQ和Enumerable扩展方法.在此API中生成XML树很容易,因为您可以嵌套构造函数调用,最终得到的代码看起来非常像XML本身.

我不推荐的是System.Xml.XmlDocument.它是旧的,它的设计遵循W3C对XML API的建议.因此,它不支持任何现代或C#特定的想法,包括enumerables和LINQ.在此API中生成XML树是曲折的:您必须单独创建每个元素并调用AppendChild等方法将它们转换为树.