1st pass at converting xml result into json

xml

null<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>FX5__Job__c</members>
        <members>FX5__Ticket__c</members>
        <name>Workflow</name>
    </types>
    <version>25.0</version>
</Package>
<?xml version="1.0" encoding="UTF-8"?>
<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
    <fieldUpdates>
        <fullName>SetTicketToReadOnly</fullName>
        <field>RecordTypeId</field>
        <lookupValue>ReadOnlyType</lookupValue>
        <lookupValueType>RecordType</lookupValueType>
        <name>SetTicketToReadOnly</name>
        <notifyAssignee>false</notifyAssignee>
        <operation>LookupValue</operation>
        <protected>false</protected>
        <reevaluateOnChange>true</reevaluateOnChange>
    </fieldUpdates>
    <fieldUpdates>
        <fullName>UpdateTicketWell</fullName>
        <field>Well_Name__c</field>
        <formula>FX5__Job__r.FX5__Well__r.Name</formula>
        <name>UpdateTicketWell</name>
        <notifyAssignee>false</notifyAssignee>
        <operation>Formula</operation>
        <protected>false</protected>
    </fieldUpdates>
    <rules>
        <fullName>Ticket Status</fullName>
        <actions>
            <name>SetTicketToReadOnly</name>
            <type>FieldUpdate</type>
        </actions>
        <active>true</active>
        <formula>FX5__Status__r.Name == &apos;Approved&apos;</formula>
        <triggerType>onCreateOrTriggeringUpdate</triggerType>
    </rules>
</Workflow>
<?xml version="1.0" encoding="UTF-8"?>
<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
    <outboundMessages>
        <fullName>Dump_to_console</fullName>
        <apiVersion>31.0</apiVersion>
        <description>blah</description>
        <endpointUrl>http://stark-reef-6428.herokuapp.com/sfdc-in</endpointUrl>
        <fields>FX5__Tracking_Number__c</fields>
        <fields>Id</fields>
        <includeSessionId>true</includeSessionId>
        <integrationUser>ccav@mobileteam.com</integrationUser>
        <name>Dump to console</name>
        <protected>false</protected>
        <useDeadLetterQueue>false</useDeadLetterQueue>
    </outboundMessages>
    <rules>
        <fullName>Offshore</fullName>
        <actions>
            <name>Dump_to_console</name>
            <type>OutboundMessage</type>
        </actions>
        <active>true</active>
        <criteriaItems>
            <field>FX5__Job__c.Offshore__c</field>
            <operation>equals</operation>
            <value>True</value>
        </criteriaItems>
        <criteriaItems>
            <field>FX5__Job__c.Price_Book_Selection__c</field>
            <operation>equals</operation>
            <value>a0Ji0000001sfVk</value>
        </criteriaItems>
        <triggerType>onCreateOrTriggeringUpdate</triggerType>
    </rules>
</Workflow>

JSON:

null
 Package : { types : { members : FX5__Job__c, members : FX5__Ticket__c, name : Workflow} , version : 25.0} 

 Workflow : { fieldUpdates : { fullName : SetTicketToReadOnly, field : RecordTypeId, lookupValue : ReadOnlyType, lookupValueType : RecordType, name : SetTicketToReadOnly, notifyAssignee : false, operation : LookupValue, protected : false, reevaluateOnChange : true} , fieldUpdates : { fullName : UpdateTicketWell, field : Well_Name__c, formula : FX5__Job__r.FX5__Well__r.Name, name : UpdateTicketWell, notifyAssignee : false, operation : Formula, protected : false} , rules : { fullName : Ticket Status, actions : { name : SetTicketToReadOnly, type : FieldUpdate} , active : true, formula : FX5__Status__r.Name == 'Approved', triggerType : onCreateOrTriggeringUpdate} } 

 Workflow : { outboundMessages : { fullName : Dump_to_console, apiVersion : 31.0, description : blah, endpointUrl : http://stark-reef-6428.herokuapp.com/sfdc-in, fields : FX5__Tracking_Number__c, fields : Id, includeSessionId : true, integrationUser : ccav@mobileteam.com, name : Dump to console, protected : false, useDeadLetterQueue : false} , rules : { fullName : Offshore, actions : { name : Dump_to_console, type : OutboundMessage} , active : true, criteriaItems : { field : FX5__Job__c.Offshore__c, operation : equals, value : True} , criteriaItems : { field : FX5__Job__c.Price_Book_Selection__c, operation : equals, value : a0Ji0000001sfVk} , triggerType : onCreateOrTriggeringUpdate} }