code: public static JSONObject toJSONObject(String string) throws JSONException {
          JSONObject jo = new JSONObject();
          XMLTokener x = new XMLTokener(string);
          while (x.more() && x.skipPast("<")) {
              parse(x, jo, null);
          }
          return jo;
      }
docs: Convert a well-formed (but not necessarily valid) XML string into a
  JSONObject. Some information may be lost in this transformation
  because JSON is a data format and XML is a document format. XML uses
  elements, attributes, and content text, while JSON uses unordered
  collections of name/value pairs and arrays of values. JSON does not
  does not like to distinguish between elements and attributes.
  Sequences of similar elements are represented as JSONArrays. Content
  text may be placed in a "content" member. Comments, prologs, DTDs, and
  <code>&lt;[ [ ]]></code> are ignored.
  @param string The source string.
  @return A JSONObject containing the structured data from the XML string.
  @throws JSONException