34 c# xml linq linq-to-xml
我有一个简单的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")
);
Run Code Online (Sandbox Code Playgroud)
想要将内容转储成字符串的地方.完全一样Console.Writeline(xml);,但我希望字符串中的内容.我试过各种各样的方法.xml.ToString();不会自行返回任何东西.
Pat*_*her 51
ToString应该最有效.我用它所有的时间.在这种情况下,它会给你带来什么回报?一个空字符串?我的猜测是构建你的XElement出了点问题.要进行调试,请重写代码以分别添加每个子XElements,以便您可以单步执行代码并检查每个代码.然后在执行.ToString之前,在Locals窗口中,查看扩展为xml的[xml]变量.
简而言之,在您到达ToString()方法之前,您的问题就出现了.
Mik*_*nov 12
ToString 有效,但它返回包含XElement标签本身的内容.如果您需要没有根标记的Inner XML(在您的示例中为""),您可以使用以下扩展方法:
public static class XElementExtension
{
public static string InnerXML(this XElement el) {
var reader = el.CreateReader();
reader.MoveToContent();
return reader.ReadInnerXml();
}
}
Run Code Online (Sandbox Code Playgroud)
然后简单地称它为: xml.InnerXML();