public void EmptyNode() { string xml = @"<?xml version=""1.0"" standalone=""no""?> <root> <person id=""1""> <name>Alan</name> <url /> </person> <person id=""2""> <name>Louis</name> <url>http://www.yahoo.com</url> </person> </root>" ; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string jsonText = JavaScriptConvert.SerializeXmlNode(doc); Console.WriteLine(jsonText); XmlDocument newDoc = (XmlDocument)JavaScriptConvert.DeerializeXmlNode(jsonText); Assert.AreEqual(doc.InnerXml, newDoc.InnerXml); }
public void OtherElementDataTypes() { string jsonText = @"{""?xml"":{""@version"":""1.0"",""@standalone"":""no""},""root"":{""person"":[{""@id"":""1"",""Float"":2.5,""Integer"":99},{""@id"":""2"",""Boolean"":true,""date"":new Date(954374400000)}]}}"; XmlDocument newDoc = (XmlDocument)JavaScriptConvert.DeerializeXmlNode(jsonText); string expected = @"<?xml version=""1.0"" standalone=""no""?><root><person id=""1""><Float>2.5</Float><Integer>99</Integer></person><person id=""2""><Boolean>true</Boolean><date>2000-03-30T00:00:00.0000000+12:00</date></person></root>"; Assert.AreEqual(expected, newDoc.InnerXml); }
public void NamespaceSerializeDeserialize() { string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <xs:schema xs:id=""SomeID"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> <xs:element name=""MyDataSet"" msdata:IsDataSet=""true""> <xs:complexType> <xs:choice maxOccurs=""unbounded""> <xs:element name=""customers"" > <xs:complexType > <xs:sequence> <xs:element name=""CustomerID"" type=""xs:integer"" minOccurs=""0"" /> <xs:element name=""CompanyName"" type=""xs:string"" minOccurs=""0"" /> <xs:element name=""Phone"" type=""xs:string"" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string jsonText = JavaScriptConvert.SerializeXmlNode(doc); XmlDocument deserializedDoc = (XmlDocument)JavaScriptConvert.DeerializeXmlNode(jsonText); Assert.AreEqual(doc.InnerXml, deserializedDoc.InnerXml); Console.WriteLine("NamespaceSerializeDeserialize"); Console.WriteLine(jsonText); Console.WriteLine(deserializedDoc.InnerXml); Console.WriteLine(); }
public void DocumentDeserialize() { string jsonText = @"{ ""?xml"": { ""@version"": ""1.0"", ""@standalone"": ""no"" }, ""span"": { ""@class"": ""vevent"", ""a"": { ""@class"": ""url"", ""@href"": ""http://www.web2con.com/"", ""span"": { ""@class"": ""summary"", ""#text"": ""Web 2.0 Conference"", ""#cdata-section"": ""my escaped text"" } } } }"; XmlDocument doc = (XmlDocument)JavaScriptConvert.DeerializeXmlNode(jsonText); string expected = @"<?xml version=""1.0"" standalone=""no""?> <span class=""vevent""> <a class=""url"" href=""http://www.web2con.com/""> <span class=""summary"">Web 2.0 Conference<![CDATA[my escaped text]]></span> </a> </span>"; string formattedXml = GetIndentedInnerXml(doc); Console.WriteLine("DocumentDeserialize"); Console.WriteLine(formattedXml); Console.WriteLine(); Assert.AreEqual(expected, formattedXml); }