Ejemplo n.º 1
0
 @Test
 public void testGsonXMLStreamReaderWithDataTypes() throws Exception {
   String jsonString =
       "{\"response\":{\"return\":{\"name\":\"kate\",\"homes\":1,\"age\":23,\"height\":5.5,"
           + "\"image\":\"iVBORw0KGg\"}}}";
   String xmlString =
       "<response xmlns=\"http://www.w3schools.com\"><return><name>kate</name><homes>1</homes>"
           + "<age>23</age><height>5.5</height><image>iVBORw0KGg</image></return></response>";
   InputStream inputStream = new ByteArrayInputStream(jsonString.getBytes());
   JsonReader jsonReader = new JsonReader(new InputStreamReader(inputStream, "UTF-8"));
   String fileName = "test-resources/custom_schema/testSchema_3.xsd";
   InputStream is = new FileInputStream(fileName);
   XmlSchemaCollection schemaCol = new XmlSchemaCollection();
   XmlSchema schema = schemaCol.read(new StreamSource(is), null);
   List<XmlSchema> schemaList = new ArrayList<XmlSchema>();
   schemaList.add(schema);
   QName elementQName = new QName("http://www.w3schools.com", "response");
   ConfigurationContext configCtxt = new ConfigurationContext(new AxisConfiguration());
   GsonXMLStreamReader gsonXMLStreamReader = new GsonXMLStreamReader(jsonReader);
   gsonXMLStreamReader.initXmlStreamReader(elementQName, schemaList, configCtxt);
   StAXOMBuilder stAXOMBuilder = new StAXOMBuilder(gsonXMLStreamReader);
   OMElement omElement = stAXOMBuilder.getDocumentElement();
   String actual = omElement.toString();
   inputStream.close();
   is.close();
   Assert.assertEquals(xmlString, actual);
 }