using System.Text.Json.Serialization;
public static void Main()
var xml = @"<root><items><item id=""1"">item 1</item><item id=""2"">item 2</item></items></root>";
XDocument xmlDoc = XDocument.Parse(xml);
Console.WriteLine($"Xml: {xml}");
Console.WriteLine($"XmlDocument xml: {xmlDoc.ToString()}");
JsonSerializerOptions options = new()
ReferenceHandler = ReferenceHandler.IgnoreCycles,
var serializedXml = System.Text.Json.JsonSerializer.Serialize(xmlDoc.Root, options);
Console.WriteLine($"Serialized xml using System.Text.Json: {serializedXml}");
serializedXml = Newtonsoft.Json.JsonConvert.SerializeObject(xmlDoc);
Console.WriteLine($"Serialized xml using Newtonsoft.Json: {serializedXml}");