C# で XmlDocument なしで XmlNode/XmlElement を作成する方法は? 質問する

C# で XmlDocument なしで XmlNode/XmlElement を作成する方法は? 質問する

基本的にいくつかの値を保持するだけのシンプルなクラスがあります。メソッドをオーバーライドして、ToString()適切な文字列表現を返すようにしました。

ToXml()ここで、次のような結果を返すメソッドを作成します。

<Song>
    <Artist>Bla</Artist>
    <Title>Foo</Title>
</Song>

もちろん、ここで を使用することもできますが、で使用するためにまたはをStringBuilder返したいと思います。XmlNodeXmlElementXmlDocument.AppendChild

XmlElementを呼び出す以外にを作成できないようなXmlDocument.CreateElementので、何か見落としているだけなのか、または または を渡してXmlDocument操作する必要があるのかref XmlElement​​、あるいは 関数に必要な XML を含む文字列を返すようにする必要があるのか​​疑問に思います。

ベストアンサー1

XmlDocument の代わりに、System.Xml.Linq の XDoc と XElement を使用することをお勧めします。この方が優れており、XML のクエリと解析に LINQ のパワーを活用できます。

XElement を使用すると、ToXml() メソッドは次のようになります。

public XElement ToXml()
{
    XElement element = new XElement("Song",
                        new XElement("Artist", "bla"),
                        new XElement("Title", "Foo"));

    return element;
}

おすすめ記事