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 を使用して、@DavidSchmitt が提案したように dto クラスを生成できます。
または、利用可能な XSD がない場合は、XML を解析する別の簡単な方法としてXLinqを参照することをお勧めします。