Default root tag name dans fichier XML

Home Forums Convertigo Products Default root tag name dans fichier XML

This topic contains 4 replies, has 3 voices, and was last updated by  florent.mazzero@econocom.com 2 months, 3 weeks ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #255664

    Bonjour

    Je souhaite utiliser la fonction Write XML du studio (Version 7.4.6)

    Je souhaite créer un fichier XML à partir de nœuds construits dans une séquence, cela fonctionne très bien mais j’ai un souci car le XML généré contient une balise root dont j’aimerais m’astreindre.
    Il s’agit de l’option “Default root tag name”

    dans la doc il est précisé “Defines the root element tag name of the resulting XML to be written, if none is defined by the source.”
    Quand je rentre rien, cela ne fonctionne pas.
    Si je met “none”, cela crée une balise parent “none”

    J’avais également pensé à utiliser cette option pour y placer le nom de mon premier noeud, mais j’ai besoin que ce noeud prenne des attributs hors je n’ai pas vu d’option pour définir des attribut sur le root tag name

    Merci pour votre aide

    #255668

    Gregory Vorbe
    Moderator

    Bonjour Florent,

    La propriété “Default root tag name” est obligatoire, statique et défini le nom du tag racine du document XML créé par le Step “Write XML”.
    Je vous concède que la documentation n’est pas claire à ce sujet et que le nom de la propriété porte à confusion.

    Merci.

    QA&Support

    #255669

    Merci pour la réponse

    Dans ce cas, est-il possible d’ajouter des attributs à cette balise “Default root tag name” ?

    #255670

    Nicolas Albert
    Keymaster

    Bonjour,

    Désolé que le step WriteXML ne laisse pas la configuration du nœud racine.

    Voici le code pour un SequenceJS qui permettra de faire ce que vous attendez ou au moins vous aider à y parvenir. Il est nécessaire de mettre un jSource avant, qui sélection l’élément à écrire.

    
    // like the "Output file" property of the WriteXML step
    var outputPath = ".//myoutput.xml";
    
    // if "outputPath" use relative path, it should be resolved ; optional if the path is already absolute
    outputPath = com.twinsoft.convertigo.engine.Engine.theApp.filePropertyManager.getFilepathFromProperty(outputPath, context.projectName);
    
    // get a java File instance for "outputPath"
    var outputFile = new java.io.File(outputPath);
    
    // take the element selected by a "jSource" step before
    var myElement = myNodeList.item(0);
    
    // transform the Element to a XML string, with an Xml declaration and with indentation
    var sDocument = com.twinsoft.convertigo.engine.util.XMLUtils.prettyPrintElement(myElement, false, true);
    
    // write the XML string "sDocument" to the "outputFile" using "ISO-8859-1" encoding (prettyPrintElement use it)
    com.twinsoft.convertigo.engine.util.FileUtils.write(outputFile, sDocument, "ISO-8859-1");
    

    N’hésitez pas à nous faire un retour.

    Cordialement,
    Nicolas

    #255672

    Bonsoir

    merci pour votre retour.
    Cela a solutionné mon problème

    en vous remerciant
    cordialement

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.