/// <summary> /// Generate an XElement that represents this expression. /// </summary> /// <param name="context">XML generation context.</param> internal XElement GetXElement(ExpressionXmlContext context) { return(context.CheckElement(this, () => new XElement("Expression", new XAttribute("resultType", ResultType.ToString( )), new XElement("Root", Root?.GetXElement(context)), new XElement("ListRoot", ListRoot?.GetXElement(context))))); }
/// <summary> /// Render the expression to XML. Used for diagnostic purposes. /// </summary> /// <returns>XML string.</returns> public string ToXml( ) { ExpressionXmlContext ctx = new ExpressionXmlContext( ); XDocument xDoc = new XDocument( new XDeclaration("1.0", "UTF-16", null), GetXElement(ctx)); using (TextWriter tw = new StringWriter( )) { xDoc.Save(tw); return(tw.ToString( )); } }