private static string Convert(string xml, string rootPath) { var xmlReader = new XmlTextReader(new StringReader(xml)); var jsonReader = new XmlJsonReader(xmlReader, rootPath); var textReader = new TextJsonReader(jsonReader); return(textReader.ReadToEnd()); }
public void ReadTest() { const string expected = "{\"foo\":true,\"baz\":null,\"quux\":[1,2,3.34,4,5,{\"foo\":\"bar\"}],\"foobar\":{\"foo\":\"bar\"},\"whibble\":false}"; JsonReader jsonReader = new JsonTextReader(new StringReader(expected)); var reader = new TextJsonReader(jsonReader); Assert.AreEqual(expected, reader.ReadToEnd()); }
public void ProcessingInstructionsTest() { const string xml = @" <?statusCode 200?> <?header Foo=""bar""?> <?header Baz=""qux""?> <Foo> <Bar>Baz</Bar> </Foo>" ; var xmlReader = new XmlTextReader(new StringReader(xml)); var jsonReader = new XmlJsonReader(xmlReader); jsonReader.ReadProcessingInstructions(); var textReader = new TextJsonReader(jsonReader); var result = textReader.ReadToEnd(); Assert.AreEqual("Foo=\"bar\"", jsonReader.ProcessingInstructions["header"][0]); Assert.AreEqual("Baz=\"qux\"", jsonReader.ProcessingInstructions["header"][1]); Assert.AreEqual("200", jsonReader.ProcessingInstructions["statusCode"][0]); Assert.AreEqual("{\"Foo\":{\"Bar\":\"Baz\"}}", result); }