This section includes two sample files.
The following sample program calls an XML file from the National Weather Service Web site and retrieves weather data for use in a COBOL program. (It does not modify or write to the file in any way.)
*Retrieve the xml data and parse it
   call "C$XML" using CXML-PARSE-FILE
       "http://www.nws.noaa.gov/data/current_obs/KMYF.xml 
   move return-code to parser-handle
*Move to the data item of the record, which is a 
*child of the record name element.
   call "C$XML" using CXML-GET-FIRST-CHILD
                      parser-handle.
   move return-code to ele-1-handle
*Get the desired fields, which are all siblings of the first *child.  Get the handle to the desired sibling, then get the *data for that element using that handle. 
*General outlook field 
   call "C$XML" using CXML-GET-SIBLING-BY-NAME
                      ele-1-handle
                      "weather"
                      0
   move return-code to ele-2-handle
   call "C$XML" using CXML-GET-DATA
                      ele-2-handle
                      throw-away
                       weather-val.
*Temperature field 
   call "C$XML" using CXML-GET-SIBLING-BY-NAME
                      ele-1-handle
                      "temperature_str"
                      0
   move return-code to ele-2-handle
   call "C$XML" using CXML-GET-DATA
                      ele-2-handle
                      throw-away
                      temp-val.
*Relative humidity field 
   call "C$XML" using CXML-GET-SIBLING-BY-NAME
                      ele-1-handle
                      "relative_humidi"
                      0
   move return-code to ele-2-handle
   call "C$XML" using CXML-GET-DATA
                      ele-2-handle
                      throw-away
                      humid-val.
*Wind direction field 
   call "C$XML" using CXML-GET-SIBLING-BY-NAME
                      ele-1-handle
                      "wind_dir"
                       0
   move return-code to ele-2-handle
   call "C$XML" using CXML-GET-DATA
                      ele-2-handle
                      throw-away
                       wind-dir.
*Wind speed field 
   call "C$XML" using CXML-GET-SIBLING-BY-NAME
                      ele-1-handle
                      "wind_mph"
                      0
move return-code to ele-2-handle
   call "C$XML" using CXML-GET-DATA
                      ele-2-handle
                      throw-away
                       wind-mph.
*Visibility field 
   call "C$XML" using CXML-GET-SIBLING-BY-NAME
                      ele-1-handle
                      "visibility"
                      0
   move return-code to ele-2-handle
   call "C$XML" using CXML-GET-DATA
                      ele-2-handle
                      throw-away
                       vis-val.
               	 The following sample shows how to create an XML file, add elements to it, and write data to the elements.
program-id. test.
working-storage section.
01 parser-handle usage is handle.
01 element-handle usage is handle.
COPY "acucobol.def".
procedure division.
main-logic. 
*Create a new XML file 
   call "C$XML" using CXML-NEW-PARSER
   move return-code to parser-handle. 
*Add a top element (using the name of the file)
   call "C$XML" using CXML-ADD-CHILD 
                  parser-handle
                  "custRec" 
   move return-code to element-handle. 
*Add some namespace information 
   call "C$XML" using CXML-ADD-ATTRIBUTE
                  element-handle
                  "xmlns:xsi"
                  "http://www.w3.org/2001/XMLSchema-instance".
                     
*Add the first field of the record, which will be a child of 
*the last element.
   call "C$XML" using CXML-ADD-CHILD 
                  element-handle
                  "cus-key"
                  "555-55-5555"
   move return-code to element-handle.
*Add the rest of the record
   call "C$XML" using CXML-ADD-SIBLING 
                  element-handle
                  "cus-name"
                  "Acucorp"
   move return-code to element-handle.
   call "C$XML" using CXML-ADD-SIBLING 
                  element-handle
                  "cus-addr"
                  "8515 Miralani Drive"
   move return-code to element-handle.
   call "C$XML" using CXML-ADD-SIBLING 
                  element-handle
                  "cus-city"
                  "San Diego"
   move return-code to element-handle.
   call "C$XML" using CXML-ADD-SIBLING 
                  element-handle
                  "cus-state"
                  "CA"
   move return-code to element-handle.
   call "C$XML" using CXML-ADD-SIBLING 
                  element-handle
                  "cus-zip"
                  "92126"
*write the file 
   call "C$XML" using CXML-WRITE-FILE,
                  parser-handle
                  "custRec.xml". 
   call "C$XML" using CXML-RELEASE-PARSER,
                  parser-handle.
   stop run.