シンプルなXElementオブジェクトがあります
_XElement xml = new XElement("XML",
new XElement ("TOKEN",Session["Token"]),
new XElement("ALL_INCLUSIVE", "0"),
new XElement("BEACH", "0"),
new XElement("DEST_DEP", ddlDest.SelectedValue.ToString()),
new XElement("FLEX", "0")
);
_
内容を文字列にダンプする場所。 Console.Writeline(xml);
の方法とまったく同じですが、文字列の内容が必要です。いろいろな方法を試しました。 xml.ToString();
は、それ自体では何も返しません。
ToString
は最も確実に機能するはずです。いつも使っています。この場合、何が返されますか?空の文字列?私の推測では、あなたのXElement
の構築に何か問題があったと思います。デバッグするには、コードを書き換えて、それぞれの子XElement
sを個別に追加します。これにより、コードをステップ実行して、それぞれを確認できます。次に、_.ToString
_を実行する前に、[ローカル]ウィンドウで、xmlに展開された_[xml]
_変数を確認します。
つまり、ToString()
メソッドに到達する前に問題が発生しています。
ToString
worksが、XElementタグ自体を含むコンテンツを返します。ルートタグなしのInner XMLが必要な場合(例では "")、次の拡張メソッドを使用できます。
_public static class XElementExtension
{
public static string InnerXML(this XElement el) {
var reader = el.CreateReader();
reader.MoveToContent();
return reader.ReadInnerXml();
}
}
_
次に、単純に呼び出します:xml.InnerXML();