如果您控制 XML 的定义(即 XSD)而不是实际编写表示 XML 的类是一个好主意(这些称为 DTO)。它为您提供了一个强类型的类来编写代码,并且您可以免费获得反序列化,而无需自己手动进行容易出错的 xml 解析。如果是这种情况,请先编写类,例如
[DataContract]
public class Book
{
[DataMember]
public string Name {get;set;}
[DataMember]
public string Author {get;set;}
}
//Then you can use this code to serialize
var xml = DataContractSerializer.Instance.SerializeToString(
new Book {Name="A", Artist="B"});
//which will give you something like:
<Book>
<Name>A</Name>
<Author>B</Author>
</Book>
//You can then [Deserialize][2] it back again with:
var book = DataContractDeserializer.Instance.Parse<Book>(xml);
以下是Serializer和Deserializer类的链接。
如果您有 WSDL 或 XSD,您可以使用 wsdl.exe(或在 VS.NET 中添加服务引用)或 xsd.exe 为您生成 dto 类,如 @DavidSchmitt 建议的那样。
或者,如果没有可用的 XSD,那么我建议您查看Xlinq,以了解另一种解析 XML 的简单方法。