Package org.json

Class XMLParserConfiguration

java.lang.Object
org.json.XMLParserConfiguration

public class XMLParserConfiguration extends Object
Configuration object for the XML parser. The configuration is immutable.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private String
    The name of the key in a JSON Object that indicates a CDATA section.
    private boolean
    When parsing the XML into JSON, specifies if values with attribute xsi:nil="true" should be kept as attribute(false), or they should be converted to null(true)
    private Set<String>
    When parsing the XML into JSON, specifies the tags whose values should be converted to arrays
    Original configuration of the XML Parser except that values are kept as strings.
    private boolean
    When parsing the XML into JSON, specifies if values should be kept as strings (true), or if they should try to be guessed into JSON values (numeric, boolean, string)
    Original Configuration of the XML Parser.
    This will allow type conversion for values in XML if xsi:type attribute is defined
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
    Default parser configuration.
     
    XMLParserConfiguration(boolean keepStrings)
    Deprecated.
    This constructor has been deprecated in favor of using the new builder pattern for the configuration.
     
    XMLParserConfiguration(boolean keepStrings, String cDataTagName)
    Deprecated.
    This constructor has been deprecated in favor of using the new builder pattern for the configuration.
     
    XMLParserConfiguration(boolean keepStrings, String cDataTagName, boolean convertNilAttributeToNull)
    Deprecated.
    This constructor has been deprecated in favor of using the new builder pattern for the configuration.
    private
    XMLParserConfiguration(boolean keepStrings, String cDataTagName, boolean convertNilAttributeToNull, Map<String,XMLXsiTypeConverter<?>> xsiTypeMap, Set<String> forceList)
    Configure the parser to use custom settings.
     
    Deprecated.
    This constructor has been deprecated in favor of using the new builder pattern for the configuration.
  • Method Summary

    Modifier and Type
    Method
    Description
    Provides a new instance of the same configuration.
    The name of the key in a JSON Object that indicates a CDATA section.
    When parsing the XML into JSON, specifies that tags that will be converted to arrays in this configuration Set<String> to parse the provided tags' values as arrays
    When parsing the XML into JSON, specifies that the values with attribute xsi:type will be converted to target type defined to client in this configuration Map<String, XMLXsiTypeConverter<?>> to parse values with attribute xsi:type="integer" as integer, xsi:type="string" as string
    boolean
    When parsing the XML into JSON, specifies if values with attribute xsi:nil="true" should be kept as attribute(false), or they should be converted to null(true)
    boolean
    When parsing the XML into JSON, specifies if values should be kept as strings (true), or if they should try to be guessed into JSON values (numeric, boolean, string)
    The name of the key in a JSON Object that indicates a CDATA section.
    When parsing the XML into JSON, specifies if values with attribute xsi:nil="true" should be kept as attribute(false), or they should be converted to null(true)
    withForceList(Set<String> forceList)
    When parsing the XML into JSON, specifies that tags that will be converted to arrays in this configuration Set<String> to parse the provided tags' values as arrays
    withKeepStrings(boolean newVal)
    When parsing the XML into JSON, specifies if values should be kept as strings (true), or if they should try to be guessed into JSON values (numeric, boolean, string)
    When parsing the XML into JSON, specifies that the values with attribute xsi:type will be converted to target type defined to client in this configuration Map<String, XMLXsiTypeConverter<?>> to parse values with attribute xsi:type="integer" as integer, xsi:type="string" as string

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ORIGINAL

      public static final XMLParserConfiguration ORIGINAL
      Original Configuration of the XML Parser.
    • KEEP_STRINGS

      public static final XMLParserConfiguration KEEP_STRINGS
      Original configuration of the XML Parser except that values are kept as strings.
    • keepStrings

      private boolean keepStrings
      When parsing the XML into JSON, specifies if values should be kept as strings (true), or if they should try to be guessed into JSON values (numeric, boolean, string)
    • cDataTagName

      private String cDataTagName
      The name of the key in a JSON Object that indicates a CDATA section. Historically this has been the value "content" but can be changed. Use null to indicate no CDATA processing.
    • convertNilAttributeToNull

      private boolean convertNilAttributeToNull
      When parsing the XML into JSON, specifies if values with attribute xsi:nil="true" should be kept as attribute(false), or they should be converted to null(true)
    • xsiTypeMap

      private Map<String,XMLXsiTypeConverter<?>> xsiTypeMap
      This will allow type conversion for values in XML if xsi:type attribute is defined
    • forceList

      private Set<String> forceList
      When parsing the XML into JSON, specifies the tags whose values should be converted to arrays
  • Constructor Details

    • XMLParserConfiguration

      public XMLParserConfiguration()
      Default parser configuration. Does not keep strings (tries to implicitly convert values), and the CDATA Tag Name is "content".
    • XMLParserConfiguration

      @Deprecated public XMLParserConfiguration(boolean keepStrings)
      Deprecated.
      This constructor has been deprecated in favor of using the new builder pattern for the configuration. This constructor may be removed in a future release.
      Configure the parser string processing and use the default CDATA Tag Name as "content".
      Parameters:
      keepStrings - true to parse all values as string. false to try and convert XML string values into a JSON value.
    • XMLParserConfiguration

      @Deprecated public XMLParserConfiguration(String cDataTagName)
      Deprecated.
      This constructor has been deprecated in favor of using the new builder pattern for the configuration. This constructor may be removed in a future release.
      Configure the parser string processing to try and convert XML values to JSON values and use the passed CDATA Tag Name the processing value. Pass null to disable CDATA processing
      Parameters:
      cDataTagName - null to disable CDATA processing. Any other value to use that value as the JSONObject key name to process as CDATA.
    • XMLParserConfiguration

      @Deprecated public XMLParserConfiguration(boolean keepStrings, String cDataTagName)
      Deprecated.
      This constructor has been deprecated in favor of using the new builder pattern for the configuration. This constructor may be removed in a future release.
      Configure the parser to use custom settings.
      Parameters:
      keepStrings - true to parse all values as string. false to try and convert XML string values into a JSON value.
      cDataTagName - null to disable CDATA processing. Any other value to use that value as the JSONObject key name to process as CDATA.
    • XMLParserConfiguration

      @Deprecated public XMLParserConfiguration(boolean keepStrings, String cDataTagName, boolean convertNilAttributeToNull)
      Deprecated.
      This constructor has been deprecated in favor of using the new builder pattern for the configuration. This constructor may be removed or marked private in a future release.
      Configure the parser to use custom settings.
      Parameters:
      keepStrings - true to parse all values as string. false to try and convert XML string values into a JSON value.
      cDataTagName - null to disable CDATA processing. Any other value to use that value as the JSONObject key name to process as CDATA.
      convertNilAttributeToNull - true to parse values with attribute xsi:nil="true" as null. false to parse values with attribute xsi:nil="true" as {"xsi:nil":true}.
    • XMLParserConfiguration

      private XMLParserConfiguration(boolean keepStrings, String cDataTagName, boolean convertNilAttributeToNull, Map<String,XMLXsiTypeConverter<?>> xsiTypeMap, Set<String> forceList)
      Configure the parser to use custom settings.
      Parameters:
      keepStrings - true to parse all values as string. false to try and convert XML string values into a JSON value.
      cDataTagName - null to disable CDATA processing. Any other value to use that value as the JSONObject key name to process as CDATA.
      convertNilAttributeToNull - true to parse values with attribute xsi:nil="true" as null. false to parse values with attribute xsi:nil="true" as {"xsi:nil":true}.
      xsiTypeMap - new HashMapinvalid input: '<'String, XMLXsiTypeConverterinvalid input: '<'?>>() to parse values with attribute xsi:type="integer" as integer, xsi:type="string" as string
      forceList - new HashSet() to parse the provided tags' values as arrays
  • Method Details

    • clone

      protected XMLParserConfiguration clone()
      Provides a new instance of the same configuration.
      Overrides:
      clone in class Object
    • isKeepStrings

      public boolean isKeepStrings()
      When parsing the XML into JSON, specifies if values should be kept as strings (true), or if they should try to be guessed into JSON values (numeric, boolean, string)
      Returns:
      The keepStrings configuration value.
    • withKeepStrings

      public XMLParserConfiguration withKeepStrings(boolean newVal)
      When parsing the XML into JSON, specifies if values should be kept as strings (true), or if they should try to be guessed into JSON values (numeric, boolean, string)
      Parameters:
      newVal - new value to use for the keepStrings configuration option.
      Returns:
      The existing configuration will not be modified. A new configuration is returned.
    • getcDataTagName

      public String getcDataTagName()
      The name of the key in a JSON Object that indicates a CDATA section. Historically this has been the value "content" but can be changed. Use null to indicate no CDATA processing.
      Returns:
      The cDataTagName configuration value.
    • withcDataTagName

      public XMLParserConfiguration withcDataTagName(String newVal)
      The name of the key in a JSON Object that indicates a CDATA section. Historically this has been the value "content" but can be changed. Use null to indicate no CDATA processing.
      Parameters:
      newVal - new value to use for the cDataTagName configuration option.
      Returns:
      The existing configuration will not be modified. A new configuration is returned.
    • isConvertNilAttributeToNull

      public boolean isConvertNilAttributeToNull()
      When parsing the XML into JSON, specifies if values with attribute xsi:nil="true" should be kept as attribute(false), or they should be converted to null(true)
      Returns:
      The convertNilAttributeToNull configuration value.
    • withConvertNilAttributeToNull

      public XMLParserConfiguration withConvertNilAttributeToNull(boolean newVal)
      When parsing the XML into JSON, specifies if values with attribute xsi:nil="true" should be kept as attribute(false), or they should be converted to null(true)
      Parameters:
      newVal - new value to use for the convertNilAttributeToNull configuration option.
      Returns:
      The existing configuration will not be modified. A new configuration is returned.
    • getXsiTypeMap

      public Map<String,XMLXsiTypeConverter<?>> getXsiTypeMap()
      When parsing the XML into JSON, specifies that the values with attribute xsi:type will be converted to target type defined to client in this configuration Map<String, XMLXsiTypeConverter<?>> to parse values with attribute xsi:type="integer" as integer, xsi:type="string" as string
      Returns:
      xsiTypeMap unmodifiable configuration map.
    • withXsiTypeMap

      public XMLParserConfiguration withXsiTypeMap(Map<String,XMLXsiTypeConverter<?>> xsiTypeMap)
      When parsing the XML into JSON, specifies that the values with attribute xsi:type will be converted to target type defined to client in this configuration Map<String, XMLXsiTypeConverter<?>> to parse values with attribute xsi:type="integer" as integer, xsi:type="string" as string
      Parameters:
      xsiTypeMap - new HashMap<String, XMLXsiTypeConverter<?>>() to parse values with attribute xsi:type="integer" as integer, xsi:type="string" as string
      Returns:
      The existing configuration will not be modified. A new configuration is returned.
    • getForceList

      public Set<String> getForceList()
      When parsing the XML into JSON, specifies that tags that will be converted to arrays in this configuration Set<String> to parse the provided tags' values as arrays
      Returns:
      forceList unmodifiable configuration set.
    • withForceList

      public XMLParserConfiguration withForceList(Set<String> forceList)
      When parsing the XML into JSON, specifies that tags that will be converted to arrays in this configuration Set<String> to parse the provided tags' values as arrays
      Parameters:
      forceList - new HashSet<String>() to parse the provided tags' values as arrays
      Returns:
      The existing configuration will not be modified. A new configuration is returned.