diff --git a/src/test/java/org/json/junit/XMLTest.java b/src/test/java/org/json/junit/XMLTest.java
index 8d25b7e..4c46cf1 100644
--- a/src/test/java/org/json/junit/XMLTest.java
+++ b/src/test/java/org/json/junit/XMLTest.java
@@ -18,16 +18,11 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.json.XML;
-import org.json.XMLParserConfiguration;
-import org.json.XMLXsiTypeConverter;
+import org.json.*;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@@ -1222,1404 +1217,36 @@ public class XMLTest {
@Test
public void testIndentComplicatedJsonObjectWithArrayAndWithConfig(){
- String str = "{\n" +
- " \"success\": true,\n" +
- " \"error\": null,\n" +
- " \"response\": [\n" +
- " {\n" +
- " \"loc\": {\n" +
- " \"long\": 31.25,\n" +
- " \"lat\": 30.063\n" +
- " },\n" +
- " \"interval\": \"day\",\n" +
- " \"place\": {\n" +
- " \"name\": \"cairo\",\n" +
- " \"state\": \"qh\",\n" +
- " \"country\": \"eg\"\n" +
- " },\n" +
- " \"periods\": [\n" +
- " {\n" +
- " \"timestamp\": 1665032400,\n" +
- " \"validTime\": \"2022-10-06T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-06T07:00:00+02:00\",\n" +
- " \"maxTempC\": 32,\n" +
- " \"maxTempF\": 90,\n" +
- " \"minTempC\": 19,\n" +
- " \"minTempF\": 66,\n" +
- " \"avgTempC\": 25,\n" +
- " \"avgTempF\": 78,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 32,\n" +
- " \"maxFeelslikeF\": 89,\n" +
- " \"minFeelslikeC\": 21,\n" +
- " \"minFeelslikeF\": 70,\n" +
- " \"avgFeelslikeC\": 26,\n" +
- " \"avgFeelslikeF\": 80,\n" +
- " \"feelslikeC\": 21,\n" +
- " \"feelslikeF\": 70,\n" +
- " \"maxDewpointC\": 17,\n" +
- " \"maxDewpointF\": 63,\n" +
- " \"minDewpointC\": 11,\n" +
- " \"minDewpointF\": 52,\n" +
- " \"avgDewpointC\": 14,\n" +
- " \"avgDewpointF\": 58,\n" +
- " \"dewpointC\": 17,\n" +
- " \"dewpointF\": 63,\n" +
- " \"maxHumidity\": 77,\n" +
- " \"minHumidity\": 29,\n" +
- " \"humidity\": 77,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1015,\n" +
- " \"pressureIN\": 29.97,\n" +
- " \"windDir\": \"N\",\n" +
- " \"windDirDEG\": 353,\n" +
- " \"windSpeedKTS\": 5,\n" +
- " \"windSpeedKPH\": 9,\n" +
- " \"windSpeedMPH\": 6,\n" +
- " \"windGustKTS\": 21,\n" +
- " \"windGustKPH\": 40,\n" +
- " \"windGustMPH\": 25,\n" +
- " \"windDirMax\": \"NNW\",\n" +
- " \"windDirMaxDEG\": 342,\n" +
- " \"windSpeedMaxKTS\": 9,\n" +
- " \"windSpeedMaxKPH\": 16,\n" +
- " \"windSpeedMaxMPH\": 10,\n" +
- " \"windDirMin\": \"N\",\n" +
- " \"windDirMinDEG\": 353,\n" +
- " \"windSpeedMinKTS\": 1,\n" +
- " \"windSpeedMinKPH\": 2,\n" +
- " \"windSpeedMinMPH\": 1,\n" +
- " \"windDir80m\": \"N\",\n" +
- " \"windDir80mDEG\": 11,\n" +
- " \"windSpeed80mKTS\": 12,\n" +
- " \"windSpeed80mKPH\": 22,\n" +
- " \"windSpeed80mMPH\": 13,\n" +
- " \"windGust80mKTS\": 22,\n" +
- " \"windGust80mKPH\": 41,\n" +
- " \"windGust80mMPH\": 25,\n" +
- " \"windDirMax80m\": \"NNW\",\n" +
- " \"windDirMax80mDEG\": 343,\n" +
- " \"windSpeedMax80mKTS\": 22,\n" +
- " \"windSpeedMax80mKPH\": 41,\n" +
- " \"windSpeedMax80mMPH\": 25,\n" +
- " \"windDirMin80m\": \"E\",\n" +
- " \"windDirMin80mDEG\": 95,\n" +
- " \"windSpeedMin80mKTS\": 8,\n" +
- " \"windSpeedMin80mKPH\": 15,\n" +
- " \"windSpeedMin80mMPH\": 10,\n" +
- " \"sky\": 22,\n" +
- " \"cloudsCoded\": \"FW\",\n" +
- " \"weather\": \"Mostly Sunny\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Mostly Sunny\",\n" +
- " \"weatherPrimaryCoded\": \"::FW\",\n" +
- " \"icon\": \"fair.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": 6,\n" +
- " \"solradWM2\": 5608,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 778,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665028274,\n" +
- " \"sunset\": 1665070502,\n" +
- " \"sunriseISO\": \"2022-10-06T05:51:14+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-06T17:35:02+02:00\"\n" +
- " },\n" +
- " {\n" +
- " \"timestamp\": 1665118800,\n" +
- " \"validTime\": \"2022-10-07T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-07T07:00:00+02:00\",\n" +
- " \"maxTempC\": 30,\n" +
- " \"maxTempF\": 86,\n" +
- " \"minTempC\": 19,\n" +
- " \"minTempF\": 66,\n" +
- " \"avgTempC\": 24,\n" +
- " \"avgTempF\": 76,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 29,\n" +
- " \"maxFeelslikeF\": 85,\n" +
- " \"minFeelslikeC\": 19,\n" +
- " \"minFeelslikeF\": 67,\n" +
- " \"avgFeelslikeC\": 24,\n" +
- " \"avgFeelslikeF\": 76,\n" +
- " \"feelslikeC\": 19,\n" +
- " \"feelslikeF\": 67,\n" +
- " \"maxDewpointC\": 15,\n" +
- " \"maxDewpointF\": 60,\n" +
- " \"minDewpointC\": 10,\n" +
- " \"minDewpointF\": 50,\n" +
- " \"avgDewpointC\": 12,\n" +
- " \"avgDewpointF\": 54,\n" +
- " \"dewpointC\": 15,\n" +
- " \"dewpointF\": 60,\n" +
- " \"maxHumidity\": 77,\n" +
- " \"minHumidity\": 30,\n" +
- " \"humidity\": 77,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1014,\n" +
- " \"pressureIN\": 29.95,\n" +
- " \"windDir\": \"NW\",\n" +
- " \"windDirDEG\": 325,\n" +
- " \"windSpeedKTS\": 1,\n" +
- " \"windSpeedKPH\": 2,\n" +
- " \"windSpeedMPH\": 1,\n" +
- " \"windGustKTS\": 16,\n" +
- " \"windGustKPH\": 29,\n" +
- " \"windGustMPH\": 18,\n" +
- " \"windDirMax\": \"WNW\",\n" +
- " \"windDirMaxDEG\": 298,\n" +
- " \"windSpeedMaxKTS\": 7,\n" +
- " \"windSpeedMaxKPH\": 13,\n" +
- " \"windSpeedMaxMPH\": 8,\n" +
- " \"windDirMin\": \"NW\",\n" +
- " \"windDirMinDEG\": 325,\n" +
- " \"windSpeedMinKTS\": 1,\n" +
- " \"windSpeedMinKPH\": 2,\n" +
- " \"windSpeedMinMPH\": 1,\n" +
- " \"windDir80m\": \"NNW\",\n" +
- " \"windDir80mDEG\": 347,\n" +
- " \"windSpeed80mKTS\": 6,\n" +
- " \"windSpeed80mKPH\": 10,\n" +
- " \"windSpeed80mMPH\": 6,\n" +
- " \"windGust80mKTS\": 20,\n" +
- " \"windGust80mKPH\": 37,\n" +
- " \"windGust80mMPH\": 23,\n" +
- " \"windDirMax80m\": \"NW\",\n" +
- " \"windDirMax80mDEG\": 316,\n" +
- " \"windSpeedMax80mKTS\": 20,\n" +
- " \"windSpeedMax80mKPH\": 37,\n" +
- " \"windSpeedMax80mMPH\": 23,\n" +
- " \"windDirMin80m\": \"NNW\",\n" +
- " \"windDirMin80mDEG\": 347,\n" +
- " \"windSpeedMin80mKTS\": 6,\n" +
- " \"windSpeedMin80mKPH\": 10,\n" +
- " \"windSpeedMin80mMPH\": 6,\n" +
- " \"sky\": 30,\n" +
- " \"cloudsCoded\": \"FW\",\n" +
- " \"weather\": \"Mostly Sunny\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Mostly Sunny\",\n" +
- " \"weatherPrimaryCoded\": \"::FW\",\n" +
- " \"icon\": \"fair.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": 6,\n" +
- " \"solradWM2\": 5486,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 742,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665114710,\n" +
- " \"sunset\": 1665156831,\n" +
- " \"sunriseISO\": \"2022-10-07T05:51:50+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-07T17:33:51+02:00\"\n" +
- " },\n" +
- " {\n" +
- " \"timestamp\": 1665205200,\n" +
- " \"validTime\": \"2022-10-08T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-08T07:00:00+02:00\",\n" +
- " \"maxTempC\": 30,\n" +
- " \"maxTempF\": 87,\n" +
- " \"minTempC\": 19,\n" +
- " \"minTempF\": 66,\n" +
- " \"avgTempC\": 25,\n" +
- " \"avgTempF\": 76,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 30,\n" +
- " \"maxFeelslikeF\": 86,\n" +
- " \"minFeelslikeC\": 19,\n" +
- " \"minFeelslikeF\": 67,\n" +
- " \"avgFeelslikeC\": 25,\n" +
- " \"avgFeelslikeF\": 76,\n" +
- " \"feelslikeC\": 19,\n" +
- " \"feelslikeF\": 67,\n" +
- " \"maxDewpointC\": 15,\n" +
- " \"maxDewpointF\": 59,\n" +
- " \"minDewpointC\": 11,\n" +
- " \"minDewpointF\": 52,\n" +
- " \"avgDewpointC\": 13,\n" +
- " \"avgDewpointF\": 56,\n" +
- " \"dewpointC\": 15,\n" +
- " \"dewpointF\": 59,\n" +
- " \"maxHumidity\": 76,\n" +
- " \"minHumidity\": 32,\n" +
- " \"humidity\": 76,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1014,\n" +
- " \"pressureIN\": 29.94,\n" +
- " \"windDir\": \"NNE\",\n" +
- " \"windDirDEG\": 21,\n" +
- " \"windSpeedKTS\": 1,\n" +
- " \"windSpeedKPH\": 2,\n" +
- " \"windSpeedMPH\": 1,\n" +
- " \"windGustKTS\": 17,\n" +
- " \"windGustKPH\": 32,\n" +
- " \"windGustMPH\": 20,\n" +
- " \"windDirMax\": \"WNW\",\n" +
- " \"windDirMaxDEG\": 301,\n" +
- " \"windSpeedMaxKTS\": 7,\n" +
- " \"windSpeedMaxKPH\": 13,\n" +
- " \"windSpeedMaxMPH\": 8,\n" +
- " \"windDirMin\": \"NNE\",\n" +
- " \"windDirMinDEG\": 21,\n" +
- " \"windSpeedMinKTS\": 1,\n" +
- " \"windSpeedMinKPH\": 2,\n" +
- " \"windSpeedMinMPH\": 1,\n" +
- " \"windDir80m\": \"NW\",\n" +
- " \"windDir80mDEG\": 309,\n" +
- " \"windSpeed80mKTS\": 5,\n" +
- " \"windSpeed80mKPH\": 9,\n" +
- " \"windSpeed80mMPH\": 5,\n" +
- " \"windGust80mKTS\": 17,\n" +
- " \"windGust80mKPH\": 31,\n" +
- " \"windGust80mMPH\": 19,\n" +
- " \"windDirMax80m\": \"NW\",\n" +
- " \"windDirMax80mDEG\": 322,\n" +
- " \"windSpeedMax80mKTS\": 17,\n" +
- " \"windSpeedMax80mKPH\": 31,\n" +
- " \"windSpeedMax80mMPH\": 19,\n" +
- " \"windDirMin80m\": \"NW\",\n" +
- " \"windDirMin80mDEG\": 309,\n" +
- " \"windSpeedMin80mKTS\": 5,\n" +
- " \"windSpeedMin80mKPH\": 9,\n" +
- " \"windSpeedMin80mMPH\": 5,\n" +
- " \"sky\": 47,\n" +
- " \"cloudsCoded\": \"SC\",\n" +
- " \"weather\": \"Partly Cloudy\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Partly Cloudy\",\n" +
- " \"weatherPrimaryCoded\": \"::SC\",\n" +
- " \"icon\": \"pcloudy.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": 7,\n" +
- " \"solradWM2\": 4785,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 682,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665201146,\n" +
- " \"sunset\": 1665243161,\n" +
- " \"sunriseISO\": \"2022-10-08T05:52:26+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-08T17:32:41+02:00\"\n" +
- " },\n" +
- " {\n" +
- " \"timestamp\": 1665291600,\n" +
- " \"validTime\": \"2022-10-09T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-09T07:00:00+02:00\",\n" +
- " \"maxTempC\": 31,\n" +
- " \"maxTempF\": 87,\n" +
- " \"minTempC\": 19,\n" +
- " \"minTempF\": 67,\n" +
- " \"avgTempC\": 25,\n" +
- " \"avgTempF\": 77,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 30,\n" +
- " \"maxFeelslikeF\": 86,\n" +
- " \"minFeelslikeC\": 20,\n" +
- " \"minFeelslikeF\": 67,\n" +
- " \"avgFeelslikeC\": 25,\n" +
- " \"avgFeelslikeF\": 77,\n" +
- " \"feelslikeC\": 20,\n" +
- " \"feelslikeF\": 67,\n" +
- " \"maxDewpointC\": 17,\n" +
- " \"maxDewpointF\": 63,\n" +
- " \"minDewpointC\": 11,\n" +
- " \"minDewpointF\": 52,\n" +
- " \"avgDewpointC\": 14,\n" +
- " \"avgDewpointF\": 57,\n" +
- " \"dewpointC\": 17,\n" +
- " \"dewpointF\": 63,\n" +
- " \"maxHumidity\": 86,\n" +
- " \"minHumidity\": 31,\n" +
- " \"humidity\": 86,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1016,\n" +
- " \"pressureIN\": 29.99,\n" +
- " \"windDir\": \"N\",\n" +
- " \"windDirDEG\": 356,\n" +
- " \"windSpeedKTS\": 2,\n" +
- " \"windSpeedKPH\": 4,\n" +
- " \"windSpeedMPH\": 2,\n" +
- " \"windGustKTS\": 19,\n" +
- " \"windGustKPH\": 36,\n" +
- " \"windGustMPH\": 22,\n" +
- " \"windDirMax\": \"NNW\",\n" +
- " \"windDirMaxDEG\": 343,\n" +
- " \"windSpeedMaxKTS\": 8,\n" +
- " \"windSpeedMaxKPH\": 14,\n" +
- " \"windSpeedMaxMPH\": 9,\n" +
- " \"windDirMin\": \"N\",\n" +
- " \"windDirMinDEG\": 356,\n" +
- " \"windSpeedMinKTS\": 2,\n" +
- " \"windSpeedMinKPH\": 4,\n" +
- " \"windSpeedMinMPH\": 2,\n" +
- " \"windDir80m\": \"NW\",\n" +
- " \"windDir80mDEG\": 316,\n" +
- " \"windSpeed80mKTS\": 5,\n" +
- " \"windSpeed80mKPH\": 9,\n" +
- " \"windSpeed80mMPH\": 6,\n" +
- " \"windGust80mKTS\": 20,\n" +
- " \"windGust80mKPH\": 36,\n" +
- " \"windGust80mMPH\": 23,\n" +
- " \"windDirMax80m\": \"N\",\n" +
- " \"windDirMax80mDEG\": 354,\n" +
- " \"windSpeedMax80mKTS\": 20,\n" +
- " \"windSpeedMax80mKPH\": 36,\n" +
- " \"windSpeedMax80mMPH\": 23,\n" +
- " \"windDirMin80m\": \"NW\",\n" +
- " \"windDirMin80mDEG\": 316,\n" +
- " \"windSpeedMin80mKTS\": 5,\n" +
- " \"windSpeedMin80mKPH\": 9,\n" +
- " \"windSpeedMin80mMPH\": 6,\n" +
- " \"sky\": 47,\n" +
- " \"cloudsCoded\": \"SC\",\n" +
- " \"weather\": \"Partly Cloudy\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Partly Cloudy\",\n" +
- " \"weatherPrimaryCoded\": \"::SC\",\n" +
- " \"icon\": \"pcloudy.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": 7,\n" +
- " \"solradWM2\": 4768,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 726,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665287583,\n" +
- " \"sunset\": 1665329491,\n" +
- " \"sunriseISO\": \"2022-10-09T05:53:03+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-09T17:31:31+02:00\"\n" +
- " },\n" +
- " {\n" +
- " \"timestamp\": 1665378000,\n" +
- " \"validTime\": \"2022-10-10T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-10T07:00:00+02:00\",\n" +
- " \"maxTempC\": 31,\n" +
- " \"maxTempF\": 87,\n" +
- " \"minTempC\": 21,\n" +
- " \"minTempF\": 70,\n" +
- " \"avgTempC\": 26,\n" +
- " \"avgTempF\": 78,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 30,\n" +
- " \"maxFeelslikeF\": 86,\n" +
- " \"minFeelslikeC\": 21,\n" +
- " \"minFeelslikeF\": 69,\n" +
- " \"avgFeelslikeC\": 25,\n" +
- " \"avgFeelslikeF\": 78,\n" +
- " \"feelslikeC\": 21,\n" +
- " \"feelslikeF\": 69,\n" +
- " \"maxDewpointC\": 16,\n" +
- " \"maxDewpointF\": 61,\n" +
- " \"minDewpointC\": 13,\n" +
- " \"minDewpointF\": 55,\n" +
- " \"avgDewpointC\": 14,\n" +
- " \"avgDewpointF\": 58,\n" +
- " \"dewpointC\": 16,\n" +
- " \"dewpointF\": 61,\n" +
- " \"maxHumidity\": 75,\n" +
- " \"minHumidity\": 35,\n" +
- " \"humidity\": 75,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1017,\n" +
- " \"pressureIN\": 30.03,\n" +
- " \"windDir\": \"N\",\n" +
- " \"windDirDEG\": 358,\n" +
- " \"windSpeedKTS\": 2,\n" +
- " \"windSpeedKPH\": 4,\n" +
- " \"windSpeedMPH\": 2,\n" +
- " \"windGustKTS\": 16,\n" +
- " \"windGustKPH\": 30,\n" +
- " \"windGustMPH\": 19,\n" +
- " \"windDirMax\": \"N\",\n" +
- " \"windDirMaxDEG\": 10,\n" +
- " \"windSpeedMaxKTS\": 8,\n" +
- " \"windSpeedMaxKPH\": 15,\n" +
- " \"windSpeedMaxMPH\": 9,\n" +
- " \"windDirMin\": \"N\",\n" +
- " \"windDirMinDEG\": 358,\n" +
- " \"windSpeedMinKTS\": 2,\n" +
- " \"windSpeedMinKPH\": 4,\n" +
- " \"windSpeedMinMPH\": 2,\n" +
- " \"windDir80m\": \"N\",\n" +
- " \"windDir80mDEG\": 8,\n" +
- " \"windSpeed80mKTS\": 7,\n" +
- " \"windSpeed80mKPH\": 13,\n" +
- " \"windSpeed80mMPH\": 8,\n" +
- " \"windGust80mKTS\": 19,\n" +
- " \"windGust80mKPH\": 36,\n" +
- " \"windGust80mMPH\": 22,\n" +
- " \"windDirMax80m\": \"N\",\n" +
- " \"windDirMax80mDEG\": 10,\n" +
- " \"windSpeedMax80mKTS\": 19,\n" +
- " \"windSpeedMax80mKPH\": 36,\n" +
- " \"windSpeedMax80mMPH\": 22,\n" +
- " \"windDirMin80m\": \"E\",\n" +
- " \"windDirMin80mDEG\": 91,\n" +
- " \"windSpeedMin80mKTS\": 7,\n" +
- " \"windSpeedMin80mKPH\": 13,\n" +
- " \"windSpeedMin80mMPH\": 8,\n" +
- " \"sky\": 64,\n" +
- " \"cloudsCoded\": \"SC\",\n" +
- " \"weather\": \"Partly Cloudy\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Partly Cloudy\",\n" +
- " \"weatherPrimaryCoded\": \"::SC\",\n" +
- " \"icon\": \"pcloudy.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": 6,\n" +
- " \"solradWM2\": 4494,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 597,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665374020,\n" +
- " \"sunset\": 1665415821,\n" +
- " \"sunriseISO\": \"2022-10-10T05:53:40+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-10T17:30:21+02:00\"\n" +
- " },\n" +
- " {\n" +
- " \"timestamp\": 1665464400,\n" +
- " \"validTime\": \"2022-10-11T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-11T07:00:00+02:00\",\n" +
- " \"maxTempC\": 31,\n" +
- " \"maxTempF\": 87,\n" +
- " \"minTempC\": 21,\n" +
- " \"minTempF\": 70,\n" +
- " \"avgTempC\": 26,\n" +
- " \"avgTempF\": 78,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 31,\n" +
- " \"maxFeelslikeF\": 87,\n" +
- " \"minFeelslikeC\": 22,\n" +
- " \"minFeelslikeF\": 72,\n" +
- " \"avgFeelslikeC\": 26,\n" +
- " \"avgFeelslikeF\": 79,\n" +
- " \"feelslikeC\": 22,\n" +
- " \"feelslikeF\": 72,\n" +
- " \"maxDewpointC\": 17,\n" +
- " \"maxDewpointF\": 62,\n" +
- " \"minDewpointC\": 11,\n" +
- " \"minDewpointF\": 51,\n" +
- " \"avgDewpointC\": 13,\n" +
- " \"avgDewpointF\": 55,\n" +
- " \"dewpointC\": 17,\n" +
- " \"dewpointF\": 62,\n" +
- " \"maxHumidity\": 71,\n" +
- " \"minHumidity\": 30,\n" +
- " \"humidity\": 71,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1015,\n" +
- " \"pressureIN\": 29.98,\n" +
- " \"windDir\": \"NNE\",\n" +
- " \"windDirDEG\": 13,\n" +
- " \"windSpeedKTS\": 8,\n" +
- " \"windSpeedKPH\": 15,\n" +
- " \"windSpeedMPH\": 9,\n" +
- " \"windGustKTS\": 15,\n" +
- " \"windGustKPH\": 28,\n" +
- " \"windGustMPH\": 17,\n" +
- " \"windDirMax\": \"NNE\",\n" +
- " \"windDirMaxDEG\": 28,\n" +
- " \"windSpeedMaxKTS\": 15,\n" +
- " \"windSpeedMaxKPH\": 28,\n" +
- " \"windSpeedMaxMPH\": 18,\n" +
- " \"windDirMin\": \"NNE\",\n" +
- " \"windDirMinDEG\": 14,\n" +
- " \"windSpeedMinKTS\": 7,\n" +
- " \"windSpeedMinKPH\": 14,\n" +
- " \"windSpeedMinMPH\": 8,\n" +
- " \"windDir80m\": \"NNE\",\n" +
- " \"windDir80mDEG\": 16,\n" +
- " \"windSpeed80mKTS\": 10,\n" +
- " \"windSpeed80mKPH\": 19,\n" +
- " \"windSpeed80mMPH\": 12,\n" +
- " \"windGust80mKTS\": 17,\n" +
- " \"windGust80mKPH\": 31,\n" +
- " \"windGust80mMPH\": 19,\n" +
- " \"windDirMax80m\": \"NNE\",\n" +
- " \"windDirMax80mDEG\": 28,\n" +
- " \"windSpeedMax80mKTS\": 17,\n" +
- " \"windSpeedMax80mKPH\": 31,\n" +
- " \"windSpeedMax80mMPH\": 19,\n" +
- " \"windDirMin80m\": \"NNE\",\n" +
- " \"windDirMin80mDEG\": 13,\n" +
- " \"windSpeedMin80mKTS\": 9,\n" +
- " \"windSpeedMin80mKPH\": 18,\n" +
- " \"windSpeedMin80mMPH\": 11,\n" +
- " \"sky\": 0,\n" +
- " \"cloudsCoded\": \"CL\",\n" +
- " \"weather\": \"Sunny\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Sunny\",\n" +
- " \"weatherPrimaryCoded\": \"::CL\",\n" +
- " \"icon\": \"sunny.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": null,\n" +
- " \"solradWM2\": 5450,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 758,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665460458,\n" +
- " \"sunset\": 1665502153,\n" +
- " \"sunriseISO\": \"2022-10-11T05:54:18+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-11T17:29:13+02:00\"\n" +
- " },\n" +
- " {\n" +
- " \"timestamp\": 1665550800,\n" +
- " \"validTime\": \"2022-10-12T07:00:00+02:00\",\n" +
- " \"dateTimeISO\": \"2022-10-12T07:00:00+02:00\",\n" +
- " \"maxTempC\": 31,\n" +
- " \"maxTempF\": 88,\n" +
- " \"minTempC\": 21,\n" +
- " \"minTempF\": 69,\n" +
- " \"avgTempC\": 26,\n" +
- " \"avgTempF\": 79,\n" +
- " \"tempC\": null,\n" +
- " \"tempF\": null,\n" +
- " \"maxFeelslikeC\": 31,\n" +
- " \"maxFeelslikeF\": 88,\n" +
- " \"minFeelslikeC\": 22,\n" +
- " \"minFeelslikeF\": 72,\n" +
- " \"avgFeelslikeC\": 26,\n" +
- " \"avgFeelslikeF\": 80,\n" +
- " \"feelslikeC\": 22,\n" +
- " \"feelslikeF\": 72,\n" +
- " \"maxDewpointC\": 16,\n" +
- " \"maxDewpointF\": 60,\n" +
- " \"minDewpointC\": 11,\n" +
- " \"minDewpointF\": 51,\n" +
- " \"avgDewpointC\": 13,\n" +
- " \"avgDewpointF\": 55,\n" +
- " \"dewpointC\": 16,\n" +
- " \"dewpointF\": 60,\n" +
- " \"maxHumidity\": 68,\n" +
- " \"minHumidity\": 29,\n" +
- " \"humidity\": 68,\n" +
- " \"pop\": 0,\n" +
- " \"precipMM\": 0,\n" +
- " \"precipIN\": 0,\n" +
- " \"iceaccum\": null,\n" +
- " \"iceaccumMM\": null,\n" +
- " \"iceaccumIN\": null,\n" +
- " \"snowCM\": 0,\n" +
- " \"snowIN\": 0,\n" +
- " \"pressureMB\": 1014,\n" +
- " \"pressureIN\": 29.95,\n" +
- " \"windDir\": \"NNE\",\n" +
- " \"windDirDEG\": 12,\n" +
- " \"windSpeedKTS\": 8,\n" +
- " \"windSpeedKPH\": 15,\n" +
- " \"windSpeedMPH\": 9,\n" +
- " \"windGustKTS\": 15,\n" +
- " \"windGustKPH\": 28,\n" +
- " \"windGustMPH\": 17,\n" +
- " \"windDirMax\": \"E\",\n" +
- " \"windDirMaxDEG\": 96,\n" +
- " \"windSpeedMaxKTS\": 14,\n" +
- " \"windSpeedMaxKPH\": 26,\n" +
- " \"windSpeedMaxMPH\": 16,\n" +
- " \"windDirMin\": \"NNE\",\n" +
- " \"windDirMinDEG\": 12,\n" +
- " \"windSpeedMinKTS\": 7,\n" +
- " \"windSpeedMinKPH\": 13,\n" +
- " \"windSpeedMinMPH\": 8,\n" +
- " \"windDir80m\": \"NNE\",\n" +
- " \"windDir80mDEG\": 15,\n" +
- " \"windSpeed80mKTS\": 10,\n" +
- " \"windSpeed80mKPH\": 19,\n" +
- " \"windSpeed80mMPH\": 12,\n" +
- " \"windGust80mKTS\": 18,\n" +
- " \"windGust80mKPH\": 33,\n" +
- " \"windGust80mMPH\": 21,\n" +
- " \"windDirMax80m\": \"E\",\n" +
- " \"windDirMax80mDEG\": 96,\n" +
- " \"windSpeedMax80mKTS\": 18,\n" +
- " \"windSpeedMax80mKPH\": 33,\n" +
- " \"windSpeedMax80mMPH\": 21,\n" +
- " \"windDirMin80m\": \"NNE\",\n" +
- " \"windDirMin80mDEG\": 15,\n" +
- " \"windSpeedMin80mKTS\": 10,\n" +
- " \"windSpeedMin80mKPH\": 18,\n" +
- " \"windSpeedMin80mMPH\": 11,\n" +
- " \"sky\": 27,\n" +
- " \"cloudsCoded\": \"FW\",\n" +
- " \"weather\": \"Mostly Sunny\",\n" +
- " \"weatherCoded\": [],\n" +
- " \"weatherPrimary\": \"Mostly Sunny\",\n" +
- " \"weatherPrimaryCoded\": \"::FW\",\n" +
- " \"icon\": \"fair.png\",\n" +
- " \"visibilityKM\": 24.135,\n" +
- " \"visibilityMI\": 15,\n" +
- " \"uvi\": null,\n" +
- " \"solradWM2\": 4740,\n" +
- " \"solradMinWM2\": 0,\n" +
- " \"solradMaxWM2\": 743,\n" +
- " \"isDay\": true,\n" +
- " \"maxCoverage\": \"\",\n" +
- " \"sunrise\": 1665546895,\n" +
- " \"sunset\": 1665588484,\n" +
- " \"sunriseISO\": \"2022-10-12T05:54:55+02:00\",\n" +
- " \"sunsetISO\": \"2022-10-12T17:28:04+02:00\"\n" +
- " }\n" +
- " ],\n" +
- " \"profile\": {\n" +
- " \"tz\": \"Africa/Cairo\",\n" +
- " \"elevM\": 23,\n" +
- " \"elevFT\": 75\n" +
- " }\n" +
- " }\n" +
- " ]\n" +
- "}";
- JSONObject jsonObject = new JSONObject(str);
- String actual = XML.toString(jsonObject, null, XMLParserConfiguration.KEEP_STRINGS,2);
- String expected = "true\n" +
- "\n" +
- " \n" +
- " 31.25\n" +
- " 30.063\n" +
- " \n" +
- " \n" +
- " 23\n" +
- " Africa/Cairo\n" +
- " 75\n" +
- " \n" +
- " \n" +
- " 2022-10-06T07:00:00+02:00\n" +
- " E\n" +
- " 95\n" +
- " 21\n" +
- " 15\n" +
- " 10\n" +
- " 353\n" +
- " N\n" +
- " 2022-10-06T05:51:14+02:00\n" +
- " null\n" +
- " 9\n" +
- " null\n" +
- " 66\n" +
- " 0\n" +
- " Mostly Sunny\n" +
- " 2022-10-06T17:35:02+02:00\n" +
- " 32\n" +
- " 77\n" +
- " N\n" +
- " 89\n" +
- " 0\n" +
- " 22\n" +
- " 25\n" +
- " 25\n" +
- " Mostly Sunny\n" +
- " 41\n" +
- " 58\n" +
- " 41\n" +
- " 22\n" +
- " 14\n" +
- " 0\n" +
- " 22\n" +
- " 353\n" +
- " 16\n" +
- " 8\n" +
- " 70\n" +
- " 2022-10-06T07:00:00+02:00\n" +
- " 10\n" +
- " 778\n" +
- " 25\n" +
- " 15\n" +
- " ::FW\n" +
- " 1665028274\n" +
- " 78\n" +
- " N\n" +
- " \n" +
- " fair.png\n" +
- " 21\n" +
- " 17\n" +
- " FW\n" +
- " 70\n" +
- " 29\n" +
- " 63\n" +
- " 12\n" +
- " 0\n" +
- " 0\n" +
- " NNW\n" +
- " 13\n" +
- " 22\n" +
- " 11\n" +
- " 32\n" +
- " 1015\n" +
- " 24.135\n" +
- " 1665032400\n" +
- " 90\n" +
- " null\n" +
- " 11\n" +
- " 0\n" +
- " 1\n" +
- " 343\n" +
- " 21\n" +
- " 2\n" +
- " 63\n" +
- " 1\n" +
- " 26\n" +
- " 6\n" +
- " NNW\n" +
- " 17\n" +
- " 29.97\n" +
- " 80\n" +
- " null\n" +
- " true\n" +
- " 19\n" +
- " 52\n" +
- " 5\n" +
- " 1665070502\n" +
- " 5608\n" +
- " 9\n" +
- " 25\n" +
- " 77\n" +
- " 6\n" +
- " 40\n" +
- " 342\n" +
- " null\n" +
- " \n" +
- " \n" +
- " 2022-10-07T07:00:00+02:00\n" +
- " NNW\n" +
- " 347\n" +
- " 19\n" +
- " 15\n" +
- " 8\n" +
- " 325\n" +
- " NW\n" +
- " 2022-10-07T05:51:50+02:00\n" +
- " null\n" +
- " 7\n" +
- " null\n" +
- " 66\n" +
- " 0\n" +
- " Mostly Sunny\n" +
- " 2022-10-07T17:33:51+02:00\n" +
- " 29\n" +
- " 77\n" +
- " NNW\n" +
- " 85\n" +
- " 0\n" +
- " 30\n" +
- " 23\n" +
- " 23\n" +
- " Mostly Sunny\n" +
- " 37\n" +
- " 54\n" +
- " 37\n" +
- " 20\n" +
- " 12\n" +
- " 0\n" +
- " 20\n" +
- " 325\n" +
- " 13\n" +
- " 6\n" +
- " 67\n" +
- " 2022-10-07T07:00:00+02:00\n" +
- " 6\n" +
- " 742\n" +
- " 24\n" +
- " 10\n" +
- " ::FW\n" +
- " 1665114710\n" +
- " 76\n" +
- " NW\n" +
- " \n" +
- " fair.png\n" +
- " 19\n" +
- " 15\n" +
- " FW\n" +
- " 67\n" +
- " 30\n" +
- " 60\n" +
- " 6\n" +
- " 0\n" +
- " 0\n" +
- " WNW\n" +
- " 6\n" +
- " 10\n" +
- " 347\n" +
- " 30\n" +
- " 1014\n" +
- " 24.135\n" +
- " 1665118800\n" +
- " 86\n" +
- " null\n" +
- " 10\n" +
- " 0\n" +
- " 1\n" +
- " 316\n" +
- " 16\n" +
- " 2\n" +
- " 60\n" +
- " 1\n" +
- " 24\n" +
- " 6\n" +
- " NW\n" +
- " 15\n" +
- " 29.95\n" +
- " 76\n" +
- " null\n" +
- " true\n" +
- " 19\n" +
- " 50\n" +
- " 1\n" +
- " 1665156831\n" +
- " 5486\n" +
- " 2\n" +
- " 18\n" +
- " 77\n" +
- " 1\n" +
- " 29\n" +
- " 298\n" +
- " null\n" +
- " \n" +
- " \n" +
- " 2022-10-08T07:00:00+02:00\n" +
- " NW\n" +
- " 309\n" +
- " 19\n" +
- " 15\n" +
- " 8\n" +
- " 21\n" +
- " NNE\n" +
- " 2022-10-08T05:52:26+02:00\n" +
- " null\n" +
- " 7\n" +
- " null\n" +
- " 66\n" +
- " 0\n" +
- " Partly Cloudy\n" +
- " 2022-10-08T17:32:41+02:00\n" +
- " 30\n" +
- " 76\n" +
- " NW\n" +
- " 86\n" +
- " 0\n" +
- " 47\n" +
- " 19\n" +
- " 19\n" +
- " Partly Cloudy\n" +
- " 31\n" +
- " 56\n" +
- " 31\n" +
- " 17\n" +
- " 13\n" +
- " 0\n" +
- " 17\n" +
- " 21\n" +
- " 13\n" +
- " 5\n" +
- " 67\n" +
- " 2022-10-08T07:00:00+02:00\n" +
- " 5\n" +
- " 682\n" +
- " 25\n" +
- " 9\n" +
- " ::SC\n" +
- " 1665201146\n" +
- " 76\n" +
- " NNE\n" +
- " \n" +
- " pcloudy.png\n" +
- " 19\n" +
- " 15\n" +
- " SC\n" +
- " 67\n" +
- " 32\n" +
- " 59\n" +
- " 5\n" +
- " 0\n" +
- " 0\n" +
- " WNW\n" +
- " 5\n" +
- " 9\n" +
- " 309\n" +
- " 30\n" +
- " 1014\n" +
- " 24.135\n" +
- " 1665205200\n" +
- " 87\n" +
- " null\n" +
- " 11\n" +
- " 0\n" +
- " 1\n" +
- " 322\n" +
- " 17\n" +
- " 2\n" +
- " 59\n" +
- " 1\n" +
- " 25\n" +
- " 7\n" +
- " NW\n" +
- " 15\n" +
- " 29.94\n" +
- " 76\n" +
- " null\n" +
- " true\n" +
- " 19\n" +
- " 52\n" +
- " 1\n" +
- " 1665243161\n" +
- " 4785\n" +
- " 2\n" +
- " 20\n" +
- " 76\n" +
- " 1\n" +
- " 32\n" +
- " 301\n" +
- " null\n" +
- " \n" +
- " \n" +
- " 2022-10-09T07:00:00+02:00\n" +
- " NW\n" +
- " 316\n" +
- " 20\n" +
- " 15\n" +
- " 9\n" +
- " 356\n" +
- " N\n" +
- " 2022-10-09T05:53:03+02:00\n" +
- " null\n" +
- " 8\n" +
- " null\n" +
- " 67\n" +
- " 0\n" +
- " Partly Cloudy\n" +
- " 2022-10-09T17:31:31+02:00\n" +
- " 30\n" +
- " 86\n" +
- " NW\n" +
- " 86\n" +
- " 0\n" +
- " 47\n" +
- " 23\n" +
- " 23\n" +
- " Partly Cloudy\n" +
- " 36\n" +
- " 57\n" +
- " 36\n" +
- " 20\n" +
- " 14\n" +
- " 0\n" +
- " 20\n" +
- " 356\n" +
- " 14\n" +
- " 5\n" +
- " 67\n" +
- " 2022-10-09T07:00:00+02:00\n" +
- " 6\n" +
- " 726\n" +
- " 25\n" +
- " 9\n" +
- " ::SC\n" +
- " 1665287583\n" +
- " 77\n" +
- " N\n" +
- " \n" +
- " pcloudy.png\n" +
- " 20\n" +
- " 17\n" +
- " SC\n" +
- " 67\n" +
- " 31\n" +
- " 63\n" +
- " 5\n" +
- " 0\n" +
- " 0\n" +
- " NNW\n" +
- " 6\n" +
- " 9\n" +
- " 316\n" +
- " 31\n" +
- " 1016\n" +
- " 24.135\n" +
- " 1665291600\n" +
- " 87\n" +
- " null\n" +
- " 11\n" +
- " 0\n" +
- " 2\n" +
- " 354\n" +
- " 19\n" +
- " 4\n" +
- " 63\n" +
- " 2\n" +
- " 25\n" +
- " 7\n" +
- " N\n" +
- " 17\n" +
- " 29.99\n" +
- " 77\n" +
- " null\n" +
- " true\n" +
- " 19\n" +
- " 52\n" +
- " 2\n" +
- " 1665329491\n" +
- " 4768\n" +
- " 4\n" +
- " 22\n" +
- " 86\n" +
- " 2\n" +
- " 36\n" +
- " 343\n" +
- " null\n" +
- " \n" +
- " \n" +
- " 2022-10-10T07:00:00+02:00\n" +
- " E\n" +
- " 91\n" +
- " 21\n" +
- " 15\n" +
- " 9\n" +
- " 358\n" +
- " N\n" +
- " 2022-10-10T05:53:40+02:00\n" +
- " null\n" +
- " 8\n" +
- " null\n" +
- " 70\n" +
- " 0\n" +
- " Partly Cloudy\n" +
- " 2022-10-10T17:30:21+02:00\n" +
- " 30\n" +
- " 75\n" +
- " N\n" +
- " 86\n" +
- " 0\n" +
- " 64\n" +
- " 22\n" +
- " 22\n" +
- " Partly Cloudy\n" +
- " 36\n" +
- " 58\n" +
- " 36\n" +
- " 19\n" +
- " 14\n" +
- " 0\n" +
- " 19\n" +
- " 358\n" +
- " 15\n" +
- " 7\n" +
- " 69\n" +
- " 2022-10-10T07:00:00+02:00\n" +
- " 8\n" +
- " 597\n" +
- " 26\n" +
- " 13\n" +
- " ::SC\n" +
- " 1665374020\n" +
- " 78\n" +
- " N\n" +
- " \n" +
- " pcloudy.png\n" +
- " 21\n" +
- " 16\n" +
- " SC\n" +
- " 69\n" +
- " 35\n" +
- " 61\n" +
- " 7\n" +
- " 0\n" +
- " 0\n" +
- " N\n" +
- " 8\n" +
- " 13\n" +
- " 8\n" +
- " 31\n" +
- " 1017\n" +
- " 24.135\n" +
- " 1665378000\n" +
- " 87\n" +
- " null\n" +
- " 13\n" +
- " 0\n" +
- " 2\n" +
- " 10\n" +
- " 16\n" +
- " 4\n" +
- " 61\n" +
- " 2\n" +
- " 25\n" +
- " 6\n" +
- " N\n" +
- " 16\n" +
- " 30.03\n" +
- " 78\n" +
- " null\n" +
- " true\n" +
- " 21\n" +
- " 55\n" +
- " 2\n" +
- " 1665415821\n" +
- " 4494\n" +
- " 4\n" +
- " 19\n" +
- " 75\n" +
- " 2\n" +
- " 30\n" +
- " 10\n" +
- " null\n" +
- " \n" +
- " \n" +
- " 2022-10-11T07:00:00+02:00\n" +
- " NNE\n" +
- " 13\n" +
- " 22\n" +
- " 15\n" +
- " 18\n" +
- " 13\n" +
- " NNE\n" +
- " 2022-10-11T05:54:18+02:00\n" +
- " null\n" +
- " 15\n" +
- " null\n" +
- " 70\n" +
- " 0\n" +
- " Sunny\n" +
- " 2022-10-11T17:29:13+02:00\n" +
- " 31\n" +
- " 71\n" +
- " NNE\n" +
- " 87\n" +
- " 0\n" +
- " 0\n" +
- " 19\n" +
- " 19\n" +
- " Sunny\n" +
- " 31\n" +
- " 55\n" +
- " 31\n" +
- " 17\n" +
- " 13\n" +
- " 0\n" +
- " 17\n" +
- " 14\n" +
- " 28\n" +
- " 9\n" +
- " 72\n" +
- " 2022-10-11T07:00:00+02:00\n" +
- " 11\n" +
- " 758\n" +
- " 26\n" +
- " 18\n" +
- " ::CL\n" +
- " 1665460458\n" +
- " 78\n" +
- " NNE\n" +
- " \n" +
- " sunny.png\n" +
- " 22\n" +
- " 17\n" +
- " CL\n" +
- " 72\n" +
- " 30\n" +
- " 62\n" +
- " 10\n" +
- " 0\n" +
- " 0\n" +
- " NNE\n" +
- " 12\n" +
- " 19\n" +
- " 16\n" +
- " 31\n" +
- " 1015\n" +
- " 24.135\n" +
- " 1665464400\n" +
- " 87\n" +
- " null\n" +
- " 11\n" +
- " 0\n" +
- " 7\n" +
- " 28\n" +
- " 15\n" +
- " 14\n" +
- " 62\n" +
- " 8\n" +
- " 26\n" +
- " null\n" +
- " NNE\n" +
- " 17\n" +
- " 29.98\n" +
- " 79\n" +
- " null\n" +
- " true\n" +
- " 21\n" +
- " 51\n" +
- " 8\n" +
- " 1665502153\n" +
- " 5450\n" +
- " 15\n" +
- " 17\n" +
- " 71\n" +
- " 9\n" +
- " 28\n" +
- " 28\n" +
- " null\n" +
- " \n" +
- " \n" +
- " 2022-10-12T07:00:00+02:00\n" +
- " NNE\n" +
- " 15\n" +
- " 22\n" +
- " 15\n" +
- " 16\n" +
- " 12\n" +
- " NNE\n" +
- " 2022-10-12T05:54:55+02:00\n" +
- " null\n" +
- " 14\n" +
- " null\n" +
- " 69\n" +
- " 0\n" +
- " Mostly Sunny\n" +
- " 2022-10-12T17:28:04+02:00\n" +
- " 31\n" +
- " 68\n" +
- " NNE\n" +
- " 88\n" +
- " 0\n" +
- " 27\n" +
- " 21\n" +
- " 21\n" +
- " Mostly Sunny\n" +
- " 33\n" +
- " 55\n" +
- " 33\n" +
- " 18\n" +
- " 13\n" +
- " 0\n" +
- " 18\n" +
- " 12\n" +
- " 26\n" +
- " 10\n" +
- " 72\n" +
- " 2022-10-12T07:00:00+02:00\n" +
- " 11\n" +
- " 743\n" +
- " 26\n" +
- " 18\n" +
- " ::FW\n" +
- " 1665546895\n" +
- " 79\n" +
- " NNE\n" +
- " \n" +
- " fair.png\n" +
- " 22\n" +
- " 16\n" +
- " FW\n" +
- " 72\n" +
- " 29\n" +
- " 60\n" +
- " 10\n" +
- " 0\n" +
- " 0\n" +
- " E\n" +
- " 12\n" +
- " 19\n" +
- " 15\n" +
- " 31\n" +
- " 1014\n" +
- " 24.135\n" +
- " 1665550800\n" +
- " 88\n" +
- " null\n" +
- " 11\n" +
- " 0\n" +
- " 7\n" +
- " 96\n" +
- " 15\n" +
- " 13\n" +
- " 60\n" +
- " 8\n" +
- " 26\n" +
- " null\n" +
- " E\n" +
- " 16\n" +
- " 29.95\n" +
- " 80\n" +
- " null\n" +
- " true\n" +
- " 21\n" +
- " 51\n" +
- " 8\n" +
- " 1665588484\n" +
- " 4740\n" +
- " 15\n" +
- " 17\n" +
- " 68\n" +
- " 9\n" +
- " 28\n" +
- " 96\n" +
- " null\n" +
- " \n" +
- " day\n" +
- " \n" +
- " eg\n" +
- " cairo\n" +
- " qh\n" +
- " \n" +
- "\n" +
- "null\n";
- assertEquals(actual, expected);
+ try {
+ InputStream jsonStream = null;
+ try {
+ jsonStream = XMLTest.class.getClassLoader().getResourceAsStream("Issue593.json");
+ final JSONObject object = new JSONObject(new JSONTokener(jsonStream));
+ String actualString = XML.toString(object, null, XMLParserConfiguration.KEEP_STRINGS,2);
+ InputStream xmlStream = null;
+ try {
+ xmlStream = XMLTest.class.getClassLoader().getResourceAsStream("Issue593.xml");
+ int bufferSize = 1024;
+ char[] buffer = new char[bufferSize];
+ StringBuilder expected = new StringBuilder();
+ Reader in = new InputStreamReader(xmlStream, "UTF-8");
+ for (int numRead; (numRead = in.read(buffer, 0, buffer.length)) > 0; ) {
+ expected.append(buffer, 0, numRead);
+ }
+ assertEquals(expected.toString(), actualString);
+ } finally {
+ if (xmlStream != null) {
+ xmlStream.close();
+ }
+ }
+ } finally {
+ if (jsonStream != null) {
+ jsonStream.close();
+ }
+ }
+ } catch (IOException e) {
+ fail("file writer error: " +e.getMessage());
+ }
}
}
diff --git a/src/test/resources/Issue593.json b/src/test/resources/Issue593.json
new file mode 100644
index 0000000..b3c82fe
--- /dev/null
+++ b/src/test/resources/Issue593.json
@@ -0,0 +1,189 @@
+{
+ "clinical_study": {
+ "brief_summary": {
+ "textblock": "CLEAR SYNERGY is an international multi center 2x2 randomized placebo controlled trial of"
+ },
+ "brief_title": "CLEAR SYNERGY Neutrophil Substudy",
+ "overall_status": "Recruiting",
+ "eligibility": {
+ "study_pop": {
+ "textblock": "Patients who are randomized to the drug RCT portion of the CLEAR SYNERGY (OASIS 9) trial"
+ },
+ "minimum_age": "19 Years",
+ "sampling_method": "Non-Probability Sample",
+ "gender": "All",
+ "criteria": {
+ "textblock": "Inclusion Criteria:"
+ },
+ "healthy_volunteers": "No",
+ "maximum_age": "110 Years"
+ },
+ "number_of_groups": "2",
+ "source": "NYU Langone Health",
+ "location_countries": {
+ "country": "United States"
+ },
+ "study_design_info": {
+ "time_perspective": "Prospective",
+ "observational_model": "Other"
+ },
+ "last_update_submitted_qc": "September 10, 2019",
+ "intervention_browse": {
+ "mesh_term": "Colchicine"
+ },
+ "official_title": "Studies on the Effects of Colchicine on Neutrophil Biology in Acute Myocardial Infarction: A Substudy of the CLEAR SYNERGY (OASIS 9) Trial",
+ "primary_completion_date": {
+ "type": "Anticipated",
+ "content": "February 1, 2021"
+ },
+ "sponsors": {
+ "lead_sponsor": {
+ "agency_class": "Other",
+ "agency": "NYU Langone Health"
+ },
+ "collaborator": [
+ {
+ "agency_class": "Other",
+ "agency": "Population Health Research Institute"
+ },
+ {
+ "agency_class": "NIH",
+ "agency": "National Heart, Lung, and Blood Institute (NHLBI)"
+ }
+ ]
+ },
+ "overall_official": {
+ "role": "Principal Investigator",
+ "affiliation": "NYU School of Medicine",
+ "last_name": "Binita Shah, MD"
+ },
+ "overall_contact_backup": {
+ "last_name": "Binita Shah, MD"
+ },
+ "condition_browse": {
+ "mesh_term": [
+ "Myocardial Infarction",
+ "ST Elevation Myocardial Infarction",
+ "Infarction"
+ ]
+ },
+ "overall_contact": {
+ "phone": "646-501-9648",
+ "last_name": "Fatmira Curovic",
+ "email": "fatmira.curovic@nyumc.org"
+ },
+ "responsible_party": {
+ "responsible_party_type": "Principal Investigator",
+ "investigator_title": "Assistant Professor of Medicine",
+ "investigator_full_name": "Binita Shah",
+ "investigator_affiliation": "NYU Langone Health"
+ },
+ "study_first_submitted_qc": "March 12, 2019",
+ "start_date": {
+ "type": "Actual",
+ "content": "March 4, 2019"
+ },
+ "has_expanded_access": "No",
+ "study_first_posted": {
+ "type": "Actual",
+ "content": "March 14, 2019"
+ },
+ "arm_group": [
+ {
+ "arm_group_label": "Colchicine"
+ },
+ {
+ "arm_group_label": "Placebo"
+ }
+ ],
+ "primary_outcome": {
+ "measure": "soluble L-selectin",
+ "time_frame": "between baseline and 3 months",
+ "description": "Change in soluble L-selectin between baseline and 3 mo after STEMI in the placebo vs. colchicine groups."
+ },
+ "secondary_outcome": [
+ {
+ "measure": "Other soluble markers of neutrophil activity",
+ "time_frame": "between baseline and 3 months",
+ "description": "Other markers of neutrophil activity will be evaluated at baseline and 3 months after STEMI (myeloperoxidase, matrix metalloproteinase-9, neutrophil gelatinase-associated lipocalin, neutrophil elastase, intercellular/vascular cellular adhesion molecules)"
+ },
+ {
+ "measure": "Markers of systemic inflammation",
+ "time_frame": "between baseline and 3 months",
+ "description": "Markers of systemic inflammation will be evaluated at baseline and 3 months after STEMI (high sensitive CRP, IL-1β)"
+ },
+ {
+ "measure": "Neutrophil-driven responses that may further propagate injury",
+ "time_frame": "between baseline and 3 months",
+ "description": "Neutrophil-driven responses that may further propagate injury will be evaluated at baseline and 3 months after STEMI (neutrophil extracellular traps, neutrophil-derived microparticles)"
+ }
+ ],
+ "oversight_info": {
+ "is_fda_regulated_drug": "No",
+ "is_fda_regulated_device": "No",
+ "has_dmc": "No"
+ },
+ "last_update_posted": {
+ "type": "Actual",
+ "content": "September 12, 2019"
+ },
+ "id_info": {
+ "nct_id": "NCT03874338",
+ "org_study_id": "18-01323",
+ "secondary_id": "1R01HL146206"
+ },
+ "enrollment": {
+ "type": "Anticipated",
+ "content": "670"
+ },
+ "study_first_submitted": "March 12, 2019",
+ "condition": [
+ "Neutrophils.Hypersegmented | Bld-Ser-Plas",
+ "STEMI - ST Elevation Myocardial Infarction"
+ ],
+ "study_type": "Observational",
+ "required_header": {
+ "download_date": "ClinicalTrials.gov processed this data on July 19, 2020",
+ "link_text": "Link to the current ClinicalTrials.gov record.",
+ "url": "https://clinicaltrials.gov/show/NCT03874338"
+ },
+ "last_update_submitted": "September 10, 2019",
+ "completion_date": {
+ "type": "Anticipated",
+ "content": "February 1, 2022"
+ },
+ "location": {
+ "contact": {
+ "phone": "646-501-9648",
+ "last_name": "Fatmira Curovic",
+ "email": "fatmira.curovic@nyumc.org"
+ },
+ "facility": {
+ "address": {
+ "zip": "10016",
+ "country": "United States",
+ "city": "New York",
+ "state": "New York"
+ },
+ "name": "NYU School of Medicine"
+ },
+ "status": "Recruiting",
+ "contact_backup": {
+ "last_name": "Binita Shah, MD"
+ }
+ },
+ "intervention": {
+ "intervention_type": "Drug",
+ "arm_group_label": [
+ "Colchicine",
+ "Placebo"
+ ],
+ "description": "Participants in the main CLEAR SYNERGY trial are randomized to colchicine/spironolactone versus placebo in a 2x2 factorial design. The substudy is interested in the evaluation of biospecimens obtained from patients in the colchicine vs placebo group.",
+ "intervention_name": "Colchicine Pill"
+ },
+ "patient_data": {
+ "sharing_ipd": "No"
+ },
+ "verification_date": "September 2019"
+ }
+}
\ No newline at end of file
diff --git a/src/test/resources/Issue593.xml b/src/test/resources/Issue593.xml
new file mode 100644
index 0000000..bf78f3b
--- /dev/null
+++ b/src/test/resources/Issue593.xml
@@ -0,0 +1,169 @@
+
+
+
+
+ ClinicalTrials.gov processed this data on July 19, 2020
+ Link to the current ClinicalTrials.gov record.
+ https://clinicaltrials.gov/show/NCT03874338
+
+
+ 18-01323
+ 1R01HL146206
+ NCT03874338
+
+ CLEAR SYNERGY Neutrophil Substudy
+ Studies on the Effects of Colchicine on Neutrophil Biology in Acute Myocardial Infarction: A Substudy of the CLEAR SYNERGY (OASIS 9) Trial
+
+
+ NYU Langone Health
+ Other
+
+
+ Population Health Research Institute
+ Other
+
+
+ National Heart, Lung, and Blood Institute (NHLBI)
+ NIH
+
+
+ NYU Langone Health
+
+ No
+ No
+ No
+
+
+
+ CLEAR SYNERGY is an international multi center 2x2 randomized placebo controlled trial of
+
+
+ Recruiting
+ March 4, 2019
+ February 1, 2022
+ February 1, 2021
+ Observational
+ No
+
+ Other
+ Prospective
+
+
+ soluble L-selectin
+ between baseline and 3 months
+ Change in soluble L-selectin between baseline and 3 mo after STEMI in the placebo vs. colchicine groups.
+
+
+ Other soluble markers of neutrophil activity
+ between baseline and 3 months
+ Other markers of neutrophil activity will be evaluated at baseline and 3 months after STEMI (myeloperoxidase, matrix metalloproteinase-9, neutrophil gelatinase-associated lipocalin, neutrophil elastase, intercellular/vascular cellular adhesion molecules)
+
+
+ Markers of systemic inflammation
+ between baseline and 3 months
+ Markers of systemic inflammation will be evaluated at baseline and 3 months after STEMI (high sensitive CRP, IL-1β)
+
+
+ Neutrophil-driven responses that may further propagate injury
+ between baseline and 3 months
+ Neutrophil-driven responses that may further propagate injury will be evaluated at baseline and 3 months after STEMI (neutrophil extracellular traps, neutrophil-derived microparticles)
+
+ 2
+ 670
+ Neutrophils.Hypersegmented | Bld-Ser-Plas
+ STEMI - ST Elevation Myocardial Infarction
+
+ Colchicine
+
+
+ Placebo
+
+
+ Drug
+ Colchicine Pill
+ Participants in the main CLEAR SYNERGY trial are randomized to colchicine/spironolactone versus placebo in a 2x2 factorial design. The substudy is interested in the evaluation of biospecimens obtained from patients in the colchicine vs placebo group.
+ Colchicine
+ Placebo
+
+
+
+
+ Patients who are randomized to the drug RCT portion of the CLEAR SYNERGY (OASIS 9) trial
+
+
+ Non-Probability Sample
+
+
+ Inclusion Criteria:
+
+
+ All
+ 19 Years
+ 110 Years
+ No
+
+
+ Binita Shah, MD
+ Principal Investigator
+ NYU School of Medicine
+
+
+ Fatmira Curovic
+ 646-501-9648
+ fatmira.curovic@nyumc.org
+
+
+ Binita Shah, MD
+
+
+
+ NYU School of Medicine
+
+ New York
+ New York
+ 10016
+ United States
+
+
+ Recruiting
+
+ Fatmira Curovic
+ 646-501-9648
+ fatmira.curovic@nyumc.org
+
+
+ Binita Shah, MD
+
+
+
+ United States
+
+ September 2019
+ March 12, 2019
+ March 12, 2019
+ March 14, 2019
+ September 10, 2019
+ September 10, 2019
+ September 12, 2019
+
+ Principal Investigator
+ NYU Langone Health
+ Binita Shah
+ Assistant Professor of Medicine
+
+
+
+ Myocardial Infarction
+ ST Elevation Myocardial Infarction
+ Infarction
+
+
+
+ Colchicine
+
+
+ No
+
+
+