Creación de datos en formato XML

Puede crear los datos que desee cargar en la base de datos con el programa de utilidad de carga de datos en un archivo con formato XML. Este archivo XML debe seguir un formato XML específico, que es parecido en estructura y contenido al formato CSV soportado para cargar datos del catálogo.

Antes de empezar

Asegúrese de que está familiarizado con los siguientes temas: Formato de archivo para archivos de entrada de carga de datos y Programa de utilidad de carga de datos Definiciones de columnas CSV y de elementos XML.

Por qué y cuándo se efectúa esta tarea

Si decide crear y utilizar un archivo con formato XML, asegúrese de que el archivo utiliza los nombres de columna CSV como nombres de elemento XML y utiliza una estructura de archivos similar a CSV. El archivo también debe especificar una palabra clave para asociar el objeto de negocio que está cargando con un mediador y objetos individuales distintos de un tipo de objeto de negocio en elementos diferentes. También debe configurar el programa de utilidad para que utilice el lector de datos XML en lugar del lector de datos CSV que es el lector de datos predeterminado. Para obtener más información sobre cómo configurar del lector de datos XML, consulte Configuración del lector de datos XML.

El siguiente código es un ejemplo de un archivo XML que puede utilizar para cargar datos de catálogo; este ejemplo carga dos catálogos de ventas:
<?xml version="1.0" encoding="UTF-8"?>
<Catalogs loadItemName="Catalog">
  <Catalog Delete="0">
    <Identifier>Spring Fashions</Identifier>
    <MasterCatalog>FALSE</MasterCatalog>
    <Description>Spring Fashions</Description>
    <Name>Spring Fashions</Name>
    <ShortDescription>Spring Fashions</ShortDescription>
    <LongDescription>Fashions for the Spring season</LongDescription>
  </Catalog>
  <Catalog Delete="0">
    <Identifier>Fall Fashions</Identifier>
    <MasterCatalog>FALSE</MasterCatalog>
    <Description>Fall Fashions</Description>
    <Name>Fall Fashions</Name>
    <ShortDescription>Fall Fashions</ShortDescription>
    <LongDescription>Fashions for the Fall season</LongDescription>
  </Catalog>
</Catalogs>
  • La primera línea en el ejemplo anterior identifica el archivo que está cargando como un archivo XML.
  • La segunda línea es un elemento raíz y contiene la palabra clave que corresponde al tipo de objeto de negocio de catálogo para subir. Por ejemplo, puede especificar la palabra clave Catalog para cargar un catálogo o la palabra clave CatalogEntry para cargar entradas de catálogo. Debe especificar la palabra clave de objeto de negocio como loadItemName en este nivel raíz. La palabra clave es sensible a las mayúsculas y minúsculas.
  • La tercera línea es un ejemplo de un elemento de segundo nivel que identifica los objetos que se están cargando. Por ejemplo, el código anterior identifica que se está cargando un objeto de catálogo. Identifique cada objeto que está cargando en el archivo a este nivel. Por ejemplo, en el código anterior, se cargan dos objetos de catálogo, un catálogo Spring Fashions y un catálogo Fall Fashions. Si está suprimiendo objetos con este archivo, puede identificar si un objeto se va a eliminar en este nivel. Si el valor para el atributo Delete es 1, el objeto de catálogo se va a eliminar. Si el valor para el atributo Delete es 0, el objeto de catálogo no se va a eliminar. Si no especifica un valor para el atributo Delete, toma el valor predeterminado 0. También puede especificar Delete como elemento anidado dentro del elemento de objeto.
  • Los elementos que están anidados dentro de los elementos de segundo nivel (objeto) contienen información del objeto. Por ejemplo, el objeto Identifier o ShortDescription. Dentro de estos elementos XML, debe incluirse el valor correspondiente para el objeto de catálogo que se está cargando. Los nombres de los elementos de la información de objeto son sensibles a las mayúsculas y minúsculas y deben coincidir con los nombres de columnas CSV para el mismo tipo de objeto de negocio. Los elementos deben ser exclusivos para cada objeto que está cargando con un archivo XML. Por ejemplo, no puede incluir dos elementos ShortDescription anidados dentro de un objeto. Puede incluir la información para un objeto que está cargando como elementos XML anidados con el elemento del objeto o como atributos dentro del elemento del objeto. Si está añadiendo la información de objeto como atributos, estos atributos XML deben incluirse en el formato siguiente:
    <object attribute="attribute_value"> 
    Donde object es el objeto que está cargando y attribute es el nombre del atributo que está cargando. Por ejemplo,
    <Catalog Identifier="Spring Fashions">
No cambie la primera o segunda línea en el archivo XML o puede que los datos no se carguen correctamente en la base de datos. Utilice las líneas restantes para añadir la información de objeto de negocio.

Procedimiento

  1. Abra un editor de texto o XML.
  2. En la primera línea del archivo, añada el siguiente código para definir el archivo como un archivo XML:
    <?xml version="1.0" encoding="UTF-8"?>
  3. Después de la línea que define el archivo como archivo XML, especifique un elemento para el tipo de objeto de negocio sobre el que está cargando información. Debe especificar este tipo de objeto en el elemento raíz para el archivo especificando la palabra clave para el objeto de negocio. En este elemento, debe incluir un nombre de elemento que distinga el elemento raíz de otros elementos dentro del archivo.
    Este elemento raíz debe especificarse con el siguiente formato:
    <?xml version="1.0" encoding="UTF-8"?>
    <elementName loadItemName="keyword">
    </elementName>
    Donde elementName es el nombre distinguido para el elemento raíz y keyword es la palabra clave que se utiliza para identificar el tipo de objeto de negocio que está cargando.
    Por ejemplo, el siguiente elemento se utiliza para especificar que un archivo contiene datos de catálogo.
    <?xml version="1.0" encoding="UTF-8"?>
    <CatalogObjects loadItemName="Catalog">
    </CatalogObjects>
    Nota: La declaración loadItemName es necesaria en archivos que se cargan con el Centro de gestión y opcional para los archivos que se cargan con el programa de utilidad de carga de datos. Como práctica recomendada, incluya esta declaración. Al incluir la declaración loadItemName, el archivo puede ser cargado con el programa de utilidad de carga de datos o el Centro de gestión sin necesidad de añadir más adelante la declaración loadItemName.
    Cuando se especifica una palabra clave, seleccione una de las siguientes palabras clave. Estas palabras clave son sensibles a las mayúsculas y minúsculas, por lo tanto asegúrese de escribir la palabra clave exactamente igual a como aparece:
    • Attachment
    • AttachmentAsset
    • AttachmentAssetLanguage
    • AttachmentDescription
    • AttributeDictionaryAttributeAllowedValues
    • AttributeDictionaryAttributeAndAllowedValues
    • AttributeDictionaryAttributeFolderRelationship
    • Catalog
    • CatalogDescription
    • CatalogGroup
    • CatalogGroupAsset
    • CatalogGroupAssociation
    • CatalogGroupAttachment
    • CatalogGroupCalculationCode
    • CatalogGroupDescription
    • CatalogGroupRelationship
    • CatalogGroupSEO
    • CatalogEntry
    • CatalogEntryAsset
    • CatalogEntryAssociation
    • CatalogEntryATPInventory
    • CatalogEntryAttachment
    • CatalogEntryAttributeDictionaryAttributeRelationship
    • CatalogEntryCalculationCode
    • CatalogEntryComponent
    • CatalogEntryDescription
    • CatalogEntryDescriptiveAttributeAndValue
    • CatalogEntryDescriptionOverride
    • CatalogEntryDescriptionUpdate
    • CatalogEntryInventory
    • CatalogEntryOfferPrice
    • CatalogEntryParentCatalogGroupRelationship
    • CatalogEntryParentProductRelationship
    • CatalogEntrySEO
    • CatalogEntryUpdate
    • CatalogFilter
    • CatalogFilterCategory
    • CatalogFilterCatentry
    • CatalogFilterCondition
    • CatalogFilterConditionGroup
    • ListPriceList
    • MarketingActivity
    • MarketingCampaign
    • MarketingContent
    • MarketingContentAttachment
    • MarketingContentAttachmentDescription
    • MarketingContentDescription
    • MarketingContentImageMap
    • MarketingElement
    • MarketingElementNVP
    • MarketingSpot
    • MarketingSpotDefaultContent
    • MarketingSpotDefaultTitle
    • MemberGroup
    • MemberGroupCondition
    • MemberGroupDescription
    • Offer
    • ProductDefiningAttributeAndAllowedValues
    • SKUDefiningAttributeValue
  4. Después de la línea que define el tipo de objeto que está cargando, especifique el objeto que está cargando. Especifique el objeto dentro de un elemento que está anidado dentro del elemento raíz.
    Por ejemplo,
    <?xml version="1.0" encoding="UTF-8"?>
    <CatalogObjects loadItemName="Catalog">
      <Catalog>
      </Catalog>
    </CatalogObjects>
  5. Añada la información para el objeto que está cargando. Puede añadir esta información como elementos o atributos en el elemento que especifica el objeto que está cargando.
    Estos atributos o elementos deben utilizar el nombre de elemento XML específico para el objeto. Estos nombres son los mismos que los nombres de columnas CSV y son sensibles a las mayúsculas y minúsculas. Deben especificar estos nombres exactamente igual a como aparecen en el tema Definiciones de columnas CSV y de elementos XML correspondiente. Si está añadiendo información personalizada, debe especificar los nombres de atributo o elemento de modo que sean iguales al nombre en el mediador correspondiente que correlaciona la información con la ubicación correcta en el nombre de objeto de negocio.
    • Si está editando la información de objeto en elementos XML, anide estos elementos dentro del elemento de objeto que ha definido en el paso anterior. Por ejemplo:
      <Catalog>
        <Identifier>Spring Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Spring Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Spring Fashions</ShortDescription>
        <LongDescription>Fashions for the Spring season</LongDescription>
      </Catalog>
    • Si está añadiendo la información de objeto como atributos, estos atributos XML deben incluirse en el formato siguiente:
      <object attribute="attribute_value"> 
      Donde object es el objeto que está cargando y attribute es el nombre del atributo que está cargando. Por ejemplo,
      <Catalog Identifier="Spring Fashions">
    También puede incluir un elemento o un atributo que especifique la secuencia o valor delete para el objeto. Por ejemplo,
    • Atributo
      <CatalogEntry Sequence="1.0"  Delete="0">
      
    • Element
      <Delete>0</Delete>

    Puede establecer el valor eliminar en 1 o 0. Si establece el valor en 1, el objeto se suprime. Si especifica el valor como 0, u omite el valor, el valor predeterminado es 0 y no se produce ninguna supresión.

    Nota: Trabajar con valores de elemento y atributo:

    Puede utilizar elementos o atributos para añadir los datos que deben cargarse. Normalmente, se cargan de la misma manera utilizando cualquiera de los dos métodos. No obstante, se cargan de manera distinta cuando el valor está vacío.

    Por ejemplo, para una entrada de catálogo, puede especificar el elemento de uso Name:
    
    <CatalogEntry>
    <Name>Spring Fashions</Name>
    </CatalogEntry>
    
    O puede utilizar un atributo:
    
    <CatalogEntry Name="Spring Fashions">
    </CatalogEntry>
    
    Los ejemplos precedentes son equivalentes cuando se cargan. No obstante, si el valor de Name está vacío, el manejador XML lo maneja de forma distinta. Es decir, los ejemplos siguientes se manejan de forma distinta:
    
    <CatalogEntry>
    <Name></Name>
    </CatalogEntry>
    
    
    <CatalogEntry Name="">
    </CatalogEntry>
    
    De forma predeterminada, todos los elementos con valores vacíos se tratan como nulos. No obstante, los atributos con valores vacíos se tratan como valores vacíos. Es decir, el valor es nulo en la base de datos su se utiliza un elemento para Name y el valor está vacío en la base de datos si utiliza un atributo para Name. Este comportamiento predeterminado puede cambiarse utilizando las siguientes propiedades de configuración opcionales.
    ignoreEmptyElementText
    Si se establece en false, los elementos vacíos se tratan como valores vacíos. El valor predeterminado es true.
    ignoreEmptyAttributeValue
    Si se establece en true, los valores de atributo vacíos se tratan como nulos. El valor predeterminado es false.
    La propiedad puede especificarse bajo el elemento <DataReader>, el elemento <LoadItem> o el elemento <LoadOrder> como:
    
    <_config:property name="ignoreEmptyElementText" value="false" />
    
    Para obtener más información, consulte Configuración del lector de datos XML.
  6. Opcional: Repita los pasos 4 y 5 para añadir información para más objetos dentro del archivo. Cada objeto debe especificarse dentro de un elemento XML distinto. No anide mucho los objetos. Anide el elemento para cada objeto que incluye directamente dentro del elemento raíz.
    Por ejemplo, para incluir tres objetos de catálogo dentro de un archivo, el archivo puede parecerse al siguiente código:
    <CatalogObjects loadItemName="Catalog">
      <Catalog>
        <Identifier>Spring Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Spring Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Spring Fashions</ShortDescription>
        <LongDescription>Fashions for the Spring season</LongDescription>
      </Catalog>
      <Catalog Delete="0">
        <Identifier>Summer Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Summer Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Summer Fashions</ShortDescription>
        <LongDescription>Fashions for the Summer season</LongDescription>
      </Catalog>
      <Catalog Delete="0">
        <Identifier>Fall Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Fall Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Fall Fashions</ShortDescription>
        <LongDescription>Fashions for the Fall season</LongDescription>
      </Catalog>
    </CatalogObjects>
  7. Guarde y cierre el archivo.
    El archivo completado puede parecerse al siguiente código:
    <?xml version="1.0" encoding="UTF-8"?>
    <CatalogObjects loadItemName="Catalog">
      <Catalog>
        <Identifier>Spring Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Spring Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Spring Fashions</ShortDescription>
        <LongDescription>Fashions for the Spring season</LongDescription>
      </Catalog>
      <Catalog Delete="0">
        <Identifier>Summer Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Summer Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Summer Fashions</ShortDescription>
        <LongDescription>Fashions for the Summer season</LongDescription>
      </Catalog>
      <Catalog Delete="0">
        <Identifier>Fall Fashions</Identifier>
        <MasterCatalog>FALSE</MasterCatalog>
        <Description>Fall Fashions</Description>
        <Name>Spring Fashions</Name>
        <ShortDescription>Fall Fashions</ShortDescription>
        <LongDescription>Fashions for the Fall season</LongDescription>
      </Catalog>
    </CatalogObjects>

Resultados

Ha creado archivos XML en un formato adecuado para cargarlo en la base de datos con el programa de utilidad de carga de datos. Al cargar el archivo XML, se interpretan la palabra clave de objeto de negocio y los nombres de elemento para la información de objeto. Los nombres de elemento y palabra clave no se incluyen en la base de datos con la información de objeto.