Overview
With DataBridge it is possible to import XML files into SuperOffice CRM Online.
If you want to know what other types of files are supported, please visit our System Requirements page.
...
Rule 2: The records to be imported can start at any element that contains elements itself.
<company>
<name>…</name>
<address>
<zipcode>…</zipcode>
<city>…</city>
</address>
<contacts>
<contact>
<firstname>...</firstname>
<lastname>...</lastname>
<phones>
<phone>...</phone>
<phone>...</phone>
</phones>
</contact>
</contacts>
</company>
Rule 3: Any name can be used for the elements, but the records must have the same name, with the same case.
<company>
<address>
<zipcode>…</zipcode>
<city>…</city>
</address>
<Address> <!-- name is different from the selected record name, won’t be imported -->
<zipcode>…</zipcode>
<city>…</city>
</Address>
<deliveryaddress> <!-- name is different from the selected record name, won’t be imported -->
<zipcode>…</zipcode>
<city>…</city>
</deliveryaddress>
</company>
Rule 4: Properties are retrieved from the text content of the innermost element. Attributes are ignored as well as text content if the element also contains nested elements.
<companies>
<company id=”ID”>
<name>NAME</name>
<address>
ADDRESS LINE
<zipcode>ZIP</zipcode>
<city>CITY</city>
</address>
</company>
</companies>
Rule 5: All the properties that need to be imported must be present, even empty, in the first record of the file.
<companies>
<company>
<name>…</name>
<VATCode />
</company>
<company>
<name>…</name>
<VATCode>…</VATCode>
<phone>…</phone> <!-- no phone element in first company element, property cannot be mapped -->
</company>
</companies>
Rule 6: Each property needs to appear only once per record. Duplicates will be ignored.
<companies>
<company>
<name>…</name>
<phones>
<phone>…</phone>
<phone>…</phone> <!-- element already appeared, only first one will be imported -->
</phones>
</company>
</companies>
Rule 7: Elements nested directly in the selected record element can be selected as a collection of inner entities.
<companies>
<company>
<name>…</name>
<contacts>
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
<phones> <!-- element is not a direct child of company, cannot select it as inner entity -->
<phone>…</phone>
<phone>…</phone>
</phones>
</contact>
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
</contact>
</contacts>
</company>
</companies>
Rule 8: Elements that contain at least two nested elements with the same name can be selected as inner entity. Only the first record of the sample file needs to follow this rule, actual files to process can contain only one entry in the selected collection of inner entities.
<companies>
<company>
<contacts> <!-- element contains only one direct nested element -->
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
</contact>
</contacts>
</company>
</companies>
Rule 9: Elements that contain nested elements with different names or that directly contain text cannot be selected as a collection of inner entities.
<companies>
<company>
<contacts> <!-- element contains text -->
CONTACTS
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
</contact>
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
</contact>
</contacts>
<phones> <!-- element contains elements with different names -->
<phone>…</phone>
<phone>…</phone>
<mobilephone>…</mobilephone>
</phones>
</company>
</companies>
Rule 10: Nested elements of an element selected as a collection of inner entities can contain nested entities on multiple levels or directly contain text.
<companies>
<company>
<contacts>
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
<address>
<zipcode>…</zipcode>
<city>…</city>
</address>
</contact>
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
</contact>
</contacts>
<phones>
<phone>…</phone>
<phone>…</phone>
</phones>
</company>
</companies>
Rule 11: The collection of inner entities for the first record must contain at least one inner entity in the files to process.
<companies>
<company>
<name>…</name>
<contacts /> <!-- the whole job will fail as the first record does not contain all the expected columns -->
</company>
<company>
<name>…</name>
<contacts>
<contact>
<firstname>…</firstname>
<lastname>…</lastname>
</contact>
</contacts>
</company>
</companies>
...