如何在c#中生成有效的XML ?


当前回答

在过去,我创建了我的XML模式,然后使用工具生成c#类,这些类将序列化到该模式。XML模式定义工具就是一个例子

http://msdn.microsoft.com/en-us/library/x6c1kb0s (VS.71) . aspx

其他回答

为了简单起见,我只使用System.XML中找到的XmlDocument/XmlNode/XmlAttribute类和XmlDocument DOM。

它为我生成XML,我只需要链接几个项目在一起。

但是,对于较大的内容,我使用XML序列化。

XmlWriter是编写良好XML的最快方法。XDocument, XMLDocument和其他一些也很好,但没有为编写XML进行优化。如果希望尽可能快地编写XML,那么肯定应该使用XmlWriter。

new XElement("Foo",
       from s in nameValuePairList
       select
             new XElement("Bar",
                  new XAttribute("SomeAttr", "SomeAttrValue"),
                          new XElement("Name", s.Name),
                          new XElement("Value", s.Value)
                         )
            );

在过去,我创建了我的XML模式,然后使用工具生成c#类,这些类将序列化到该模式。XML模式定义工具就是一个例子

http://msdn.microsoft.com/en-us/library/x6c1kb0s (VS.71) . aspx

对于简单的情况,我还建议查看XmlOutput——用于构建Xml的流畅接口。

XmlOutput非常适合用于创建具有可读和可维护代码的简单Xml,同时生成有效的Xml。最初的帖子有一些很好的例子。