在C# 2.0中处理XML文档和XSD的最佳方法是什么?
使用哪些类等。解析和创建XML文档等的最佳实践是什么。
编辑:欢迎提供.Net 3.5建议。
XmlNode
<=> XNode
<=> XElement
之间进行转换(例如,为了使用LINQ),这些扩展可能会对您有所帮助:public static class MyExtensions
{
public static XNode GetXNode(this XmlNode node)
{
return GetXElement(node);
}
public static XElement GetXElement(this XmlNode node)
{
XDocument xDoc = new XDocument();
using (XmlWriter xmlWriter = xDoc.CreateWriter())
node.WriteTo(xmlWriter);
return xDoc.Root;
}
public static XmlNode GetXmlNode(this XElement element)
{
using (XmlReader xmlReader = element.CreateReader())
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
return xmlDoc;
}
}
public static XmlNode GetXmlNode(this XNode node)
{
return GetXmlNode(node);
}
}
使用方法:
XmlDocument MyXmlDocument = new XmlDocument();
MyXmlDocument.Load("MyXml.xml");
XElement MyXElement = MyXmlDocument.GetXElement(); // Convert XmlNode to XElement
List<XElement> List = MyXElement.Document
.Descendants()
.ToList(); // Now you can use LINQ
...
Cookey的回答很好...但以下是如何从XSD(或XML)创建强类型对象并在几行代码中序列化/反序列化的详细说明: