Published on Wednesday, 01 August 2012 19:49
This tutorial will explain how to:
- Analyze the XML file
- Setup an import template for the XML file
- How to import the XML file
Requirements for this tutorial are:
- CSVI Pro 5 beta 1 or higher
- This attached XML file
Analyzing the XML file
Open the attached XML file in an editor. There are a few things to see:
- Root element
- Node element
- Record element
- Item element
Root element
The root element is the <catalog> tag in the file. This contains all the node and record elements. CSVI does not use the root element so we can forget this one.
Node element
The node element is the <products> tag in the file. This contains all the record elements. CSVI does not use the node element either so we can forget this one also.
Record element
The record element is the <product> tag in the file. This contains all the details of the item in our case. The record element is very important for CSVI, this is how it identifies where to start reading your file. Therefore we need to put the record element in the XML options in the template as shown here. The element is written without the brackets.

Item element
The item elements contain all the item information. This is what we need for setting up the template fields but more about that later.
Setup an import template for the XML file
First create a new template by taking these steps:
- Go to Components -> CSVI Pro -> Process
- Under Which import/export do you want to do? make the following selection:
- Import
- VirtueMart
- Product import
- Click on Go

- On the File tab, set Use column headers as configuration to No

- Now save the template by clicking on the Save as new button. This step is needed so we can add the fields to the template.

- The template is now ready to be configured
Adding the fields
The most important part of the template are the fields, this is where CSVI is told what to do with the import fields. The order of the fields is not important as CSVI identifies fields based on their name. There is only one case where the order is important, that is with fields with the same name, this will be explained later. All field names are case-sensitive. Pay attention to this. We will take the following steps:
- Identify the XML paths
- Identify the CSVI fields
- Add the fields to the template
Identify XML paths
A field name is created by CSVI based on the path in the XML file, the path always starts from the item element. First we will create the path names of the items in the attached XML file.
- Element: <ID>
Path: ID
- Element: <NAME>
Path: NAME
- Element: <DESCRIPTION>
Path: DESCRIPTION
- Element: <PRICE>
Path: PRICE
- Element: <PRICE_BASE>
Path: PRICE_BASE
- Element: <PRICE_RES>
Path: PRICE_RES
- Element: <IMAGE><IMAGE1>
Path: IMAGE/IMAGE1
- Element: <IMAGE><IMAGE2>
Path: IMAGE/IMAGE2
- Element: <IMAGE><IMAGE3>
Path: IMAGE/IMAGE3
- Element: <IMAGE><IMAGE4>
Path: IMAGE/IMAGE4
- Element: <VIDEO1>
Path: VIDEO1
- Element: <VIDEO2>
Path: VIDEO2
- Element: <VIDEO3>
Path: VIDEO3
- Element: <FEATURES><FEATURE name>
Path: FEATURES/FEATURE/NAME
This path is used multiple times for the other features
- Element: <FEATURES><FEATURE>
Path: FEATURES/FEATURE
This path is used multiple times for the other features
- Element: <SIZE>
Path: SIZE
- Element: <GROUPPRODUCTS>
Path: GROUPPRODUCTS
- Element: <STATUS>
Path: STATUS
- Element: <CATEGORY>
Path: CATEGORY
- Element: <BARCODE>
Path: BARCODE
Identify CSVI fields
Now that we have all the paths identified we need to identify the CSVI fields the paths belong to. A visual guide is available for the fields name to help you identify the fieldnames. Hereby the list of fields for the example XML:
- Path: ID
CSVI: product_sku
- Path: NAME
CSVI: product_name
- Path: DESCRIPTION
CSVI: product_desc
- Path: PRICE
CSVI: product_price
- Path: PRICE_BASE
CSVI: skip
This field is skipped because there is no equivalent field available, this applies to all fields being skipped.
- Path: PRICE_RES
CSVI: skip
- Path: IMAGE/IMAGE1
CSVI: file_url
- Path: IMAGE/IMAGE2
CSVI: combine
This field is going to be combined with the file_url field because there is only 1 field available to specify images.
- Path: IMAGE/IMAGE3
CSVI: combine
- Path: IMAGE/IMAGE4
CSVI: combine
- Path: VIDEO1
CSVI: skip
- Path: VIDEO2
CSVI: skip
- Path: VIDEO3
CSVI: skip
- Path: FEATURES/FEATURE/NAME
CSVI: custom_title
- Path: FEATURES/FEATURE/NAME
CSVI: combine
- Path: FEATURES/FEATURE/NAME
CSVI: combine
- Path: FEATURES/FEATURE
CSVI: custom_value
- Path: FEATURES/FEATURE
CSVI: combine
- Path: FEATURES/FEATURE
CSVI: combine
- Path: SIZE
CSVI: skip
- Path: GROUPPRODUCTS
CSVI: skip
- Path: STATUS
CSVI: published
- Path: CATEGORY
CSVI: category_path
- Path: BARCODE
CSVI: skip
Add the fields
Now that we have identified the paths and fields, we are ready to add all the fields to the template. We do this by following this procedure:

- Click on the Fields tab to open the fields section
- From the Field name dropdown select the CSVI field
- In the File field name field typ the XML path. Do not forget that the file field name is case-sensitive.
- Click on the Add symbol
- Repeat these steps for all fields
Combine fields
The next step is to configure the combine fields to make sure all the fields get combined.

As mentioned earlier, we are going to combine the image fields because there is only 1 field for an image available. To combine the images we need to edit the field name, this is done by clicking on the field name. The steps are:
- Click on the field name file_url
- An edit screen opens as seen on the screenshot above
- Next to the combine option select all the fields you want to combine with the current field. We have 4 images in total, the first one is linked to the file_url field and the other 3 need to be combined with the first one. In the list of combine fields select the other 3 images as shown. In the screenshot the images are in consecutive order but that is because the fields were added this way. This is not a requirement.
- Next in the Combine character we need to set which character we want to use to combine the fields. Multiple images are always separated by a pipe-symbol |, so we fill in the pipe-symbol.
- Click on Submit to save the changes
- Do the same for the custom_title and custom_value fields as shown below:


- The fields are now all added and set up
How to import the XML file
The last step is to import the XML file.

- Under source options select Load from computer
- Click on Choose File (text may vary depending on the browser used)
- Select the file on your computer
- Click on Process in the top left corner
- CSVI will now start to import the XML file