Passer au contenu principal
Adaptive Planning
Dernière mise à jour : 2024-09-20
ai.xml

ai.xml

Fonctions

Méthode
Paramètres
Retours
Description
CreateFromUrl(URL, méthode, corps, en-têtes, rappels)
disponible en date de 2018.3
URL : adresse URL valide
méthode HTTP : Chaîne valide
body: Corps de la demande de chaîne
headers: String HTTP Header
rappels : fonction de l’objet A
ai.xml.sax
Crée un objet d’analyse XML Saxe qui peut analyser un flux XML.
CreateFromUrlWithAutorisation(URL, méthode, corps, en-têtes, rappels)
disponible en date de 2018.3
URL : adresse URL valide
méthode HTTP : Chaîne valide
body: Corps de la demande de chaîne
headers: String HTTP Header
rappels : fonction de l’objet A
ai.xml.sax
Crée un objet d’analyse XML Saxe qui peut analyser un flux XML avec une autorisation à l’aide de OAuth.
CreateParser()
ai.xml.parser
Crée un objet d’analyse XML qui peut analyser les chaînes XML.
createDocument()
ai.xml.document
Crée un document XML.
createDocType( xmlStr )
  • xmlStr : Chaîne XML doctype valide
ai.xml.docType
Créez un objet doctype qui est ajouté à un document XML pour définir son type de doctype.
CreateElement( nom)
  • name : Nom de la chaîne de l'élément XML
ai.xml.element
Créez un élément XML, qui est l’élément de base d’un document XML, qui peut être ajouté à un document XML.
CreateAttribute( nom, valeur)
  • name : Nom de la chaîne de l'attribut
  • value : valeur de chaîne de l’attribut
ai.xml.attribute
Crée un objet d'attribut qui peut être ajouté à un élément XML.
Exemples
// Construct the sample XML request below /* <request> <control> <senderid>adaptiveplanning</senderid> <password>Bts9DrRkeZ</password> <controlid>SomeRandomThingToMatchToResponse</controlid> <dtdversion>3.0</dtdversion> </control> </request> */ // create XML document var doc = ai.xml.createDocument(); // create root element var requestEl = ai.xml.createElement('request'); // create control element var controlEl = ai.xml.createElement('control'); //create senderid element var senderIdEl = ai.xml.createElement('senderid'); senderIdEl.setText('adaptiveplanning'); //add <senderid> to <control> element controlEl.addChildElement(senderIdEl); //create password element var controlPasswordEl = ai.xml.createElement('password'); controlPasswordEl.setText('Bts9DrRkeZ'); //add <password> to <control> element controlEl.addChildElement(controlPasswordEl); //create controlid element var controlIdEl = ai.xml.createElement('controlid'); controlIdEl.setText('SomeRandomThingToMatchToResponse'); //add <controlid> to <control> element controlEl.addChildElement(controlIdEl); //create dtdversion element var dtdEl = ai.xml.createElement('dtdversion'); dtdEl.setText('3.0'); //add <dtdversion> to <control> element controlEl.addChildElement(dtdEl); //add <control> element to the main <request> element requestEl.addChildElement(controlEl); //set <request> as the doc's root element doc.setRootElement(requestEl);

ai.xml.sax

Méthode
Paramètres
Retours
Description
createFromText()
XML:string
Encodage : UTF8
Rappels : un objet avec des fonctions
ai.xml.sax
Crée un objet d’analyse XML Saxe qui peut analyser du texte XML.
Limite de 2,5 millions de caractères.
createFromUrl()
URL : adresse URL valide
méthode HTTP : Chaîne valide
body: Corps de la demande de chaîne
headers: String HTTP Header
rappels : un objet avec des fonctions
ai.xml.sax
Crée un objet d’analyse XML Saxe qui peut analyser un flux XML.
createFromUrlWithAuthorisation()
URL : adresse URL valide
méthode HTTP : Chaîne valide
body: Corps de la demande de chaîne
headers: String HTTP Header
rappels : un objet avec des fonctions
ai.xml.sax
Crée un objet d’analyse XML Saxe qui peut analyser un flux XML avec une autorisation à l’aide de OAuth.
Le
ai.xml.sax
exemples ci-dessous d’utilisation
callbacks
. Un rappel est une fonction qui s’exécute après l’exécution d’une autre fonction. L’un des avantages de l’utilisation des rappels avec les analyseurs ai.xml.sax est que vous pouvez repérer les erreurs et les présenter dans les journaux d’une exécution CCDS pour faciliter le dépannage.
Exemple ai.xml.sax.createFromText
var data = { books: [], currentTag: '' }; function createSaxParser(callbacks) { var xml = '<BookStore><book category="Cooking"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>$30.00</price></book><book category="Children"><title lang="en">Harry Potter</title><author>Norwegian: . French: </author><year>2015</year> <price>$50.00</price></book><book category="Sports"><title lang="en">Sports for Health</title><author>&#352;umbera</author><year>2016</year><price>$330.00</price></book> </BookStore>'; try { return ai.xml.sax.createFromText(xml, "UTF8", callbacks); } catch(exception) { ai.log.logError('Unable to setup sax parser', '' + exception); throw exception; } } function testConnection(context) { var parser = null; var callbacks = {}; var matched = false; callbacks.onOpenTag = function (tag) { if(tag.name === 'book') { matched = true; parser.stop(); } }; parser = createSaxParser(callbacks); parser.readToEnd(); return matched; } function importStructure(context) { var builder = context.getStructureBuilder(); var table = builder.addTable('MyNewTableFromText'); table.setDisplayName('MyNewTableFromText'); addColumn(table, 'book', 1, 'string', 100); addColumn(table, 'title', 2, 'string', 500); addColumn(table, 'author', 3, 'string', 100); addColumn(table, 'year', 4, 'string', 200); addColumn(table, 'price', 5, 'string', 1000) } function importData(context) { var rowset = context.getRowset(); rowset.setSmartParsingEnabled(true); var parser = null; var callbacks = {}; callbacks.onOpenTag = function (tag) { data.currentTag = tag.name; if(tag.name === 'book') { var book = { category: tag.attributes['category'] }; data.books.push(book); } }; callbacks.onText = function (text) { var current = data.books.length > 0 ? data.books[data.books.length-1] : null; if(data.currentTag === 'title') { current.title = text; } if(data.currentTag === 'author') { current.author = text; } if(data.currentTag === 'year') { current.year = text; } if(data.currentTag === 'price') { current.price = text; } }; callbacks.onCloseTag = function (tagname) { if(tagname === 'book') { var saving = data.books.pop(); save(rowset, saving); } }; parser = createSaxParser(callbacks); parser.readToEnd(); } function addColumn(table, columnName, order, type, length) { var newCol = table.addColumn(columnName); newCol.setDisplayName(columnName); newCol.setDisplayOrder(order); newCol.setIncludeByDefault(true); switch (type) { case 'string': newCol.setTextColumnType(length); newCol.setRemoteColumnType('string'); break; case 'datetime': newCol.setDateTimeColumnType(); newCol.setRemoteColumnType('datetime'); break; case 'float': newCol.setFloatColumnType(); newCol.setRemoteColumnType('float'); break; default: newCol.setTextColumnType(100); newCol.setRemoteColumnType('string'); } } var save = function (rowset, book) { var cells = []; cells.push(book.category); cells.push(book.title); cells.push(book.author); cells.push(book.year); cells.push(book.price); rowset.addRow(cells); };
Exemple ai.xml.sax.createFromUrl
var data = { entires: [], currentTag: '' }; function createSaxParser(callbacks) { var url = 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.atom'; var method = 'GET'; var body = ``; var headers = {}; try { return ai.xml.sax.createFromUrl(url, method, body, headers, callbacks); } catch (exception) { ai.log.logError('Unable to setup sax parser', '' + exception); throw exception; } } function testConnection(context) { var parser = null; var callbacks = {}; var matched = false; callbacks.onOpenTag = function (tag) { if (tag.name === 'entry') { matched = true; parser.stop(); } }; parser = createSaxParser(callbacks); parser.readToEnd(); return matched; } function importStructure(context) { var builder = context.getStructureBuilder(); var table = builder.addTable('StandardLoaderData'); table.setDisplayName('StandardLoaderData'); addColumn(table, 'id', 0, 'string', 100); addColumn(table, 'title', 1, 'string', 500); addColumn(table, 'updated', 2, 'string', 100); addColumn(table, 'link', 3, 'string', 200); addColumn(table, 'summary', 4, 'string', 1000); addColumn(table, 'georss:point', 5, 'string', 200); addColumn(table, 'georss:elev', 6, 'string', 200); } function importData(context) { var rowset = context.getRowset(); rowset.setSmartParsingEnabled(true); var parser = null; var callbacks = {}; callbacks.onOpenTag = function (tag) { data.currentTag = tag.name; if (tag.name == 'entry') { var entry = {}; data.entires.push(entry); return; } if (tag.name == 'link') { if (tag.attributes) { var current = data.entires.length > 0 ? data.entires[data.entires.length-1] : null; if(current !== null) { current.link = tag.attributes["href"]; } } } }; callbacks.onText = function (text) { var current = data.entires.length > 0 ? data.entires[data.entires.length-1] : null; if(current === null) { return; } switch (data.currentTag) { case "id": case "title": case "updated": case "summary": case "georss:point": case "georss:elev": current[data.currentTag] = text; break; } }; callbacks.onCloseTag = function (tagname) { if (tagname == 'entry') { var saving = data.entires.pop(); save(rowset, saving); } }; callbacks.onCData = function (data) { if (data.length === 0) return; if (data.currentTag == 'summary') { var current = data.entires.length > 0 ? data.entires[data.entires.length-1] : null; current.summary = data; } }; parser = createSaxParser(callbacks); parser.readToEnd(); } function addColumn(table, columnName, order, type, length) { var newCol = table.addColumn(columnName); newCol.setDisplayName(columnName); newCol.setDisplayOrder(order); newCol.setIncludeByDefault(true); switch (type) { case 'string': newCol.setTextColumnType(length); newCol.setRemoteColumnType('string'); break; case 'datetime': newCol.setDateTimeColumnType(); newCol.setRemoteColumnType('datetime'); break; case 'float': newCol.setFloatColumnType(); newCol.setRemoteColumnType('float'); break; default: newCol.setTextColumnType(100); newCol.setRemoteColumnType('string'); } } var save = function (rowset, entry) { var cells = []; cells.push(entry.id || ''); cells.push(entry.title || ''); cells.push(entry.updated || ''); cells.push(entry.link || ''); cells.push(entry.summary || ''); cells.push(entry['georss:point'] || ''); cells.push(entry['georss:elev'] || ''); rowset.addRow(cells); };

ai.xml.parser

Méthode
Paramètres
Retours
Description
parse( xmlStr )
  • xmlStr - Chaîne de document XML valide
ai.xml.document
Analyse une chaîne de document XML valide dans un document XML.
Exemple pour analyser
var xmlString = '<request><control><senderid>adaptiveplanning</senderid><password>Bts9DrRkeZ</password><controlid>SomeRandomThingToMatchToResponse</controlid><dtdversion>3.0</dtdversion></control><operation><authentication><login><userid>Julia</userid><companyid>companyplanningDEV</companyid><password>GhY93tYi</password></login></authentication></operation></request>'; var parser = ai.xml.createParser(); var xmlDoc = parser.parse(xmlString); /* Output: <request> <control> <senderid>adaptiveplanning</senderid> <password>Bts9DrRkeZ</password> <controlid>SomeRandomThingToMatchToResponse</controlid> <dtdversion>3.0</dtdversion> </control> <operation> <authentication> <login> <userid>Julia</userid> <companyid>companyplanningDEV</companyid> <password>GhY93tYi</password> </login> </authentication> </operation> </request> */

ai.xml.document

Méthode
Paramètres
Retours
Description
clone()
ai.xml.document
Retourne un clone de ce document.
getDOCTYPE()
ai.xml.docType
Obtient le document doctype.
getRootElement()
ai.xml.element
Obtient l'élément racine dans le document.
setDOCTYPE( docType )
  • docType : ai.xml.docType docType pour définir le document en
Définit le document doctype.
setRootElement( élément )
  • element : ai.xml.element Élément pour être l'élément racine du document.
Définit l'élément racine du document.
ToString()
Fournit une représentation sous forme de chaîne du document XML.

ai.xml.docType

Méthode
Paramètres
Retours
Description
ToString()
Chaîne
Fournit une représentation sous forme de chaîne de ce type de document.
Exemple
var doc = ai.xml.createDocument(); var docType = ai.xml.createDocType('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'); //set doc type doc.setDOCTYPE(docType); //get doc type var getdoctype=doc.getDOCTYPE(); var rootEl = ai.xml.createElement('Books'); //set root element doc.setRootElement(rootEl); //sample clone var cloned_doc=doc.clone(); //get root element var docRoot=doc.getRootElement(); //convert the xml result to a string for logging ai.log.logInfo(doc.toString()) /*Output: Cloned data: <Books /> Doc type is<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Root element is <Books /> */

ai.xml.element

Méthode
Paramètres
Retours
Description
addChildElement( élément )
  • element : Élément ai.xml.element à ajouter
Ajoute un élément enfant.
clone()
ai.xml.element
Renvoie un clone de cet élément.
getAttribute( name )
name : Nom de la chaîne de l'attribut
ai.xml.attribute
Obtient l'attribut du nom donné.
getAttributeAt( index )
index : Index entier de l'attribut
ai.xml.attribute
Obtient l'attribut à l'index donné du tableau d'attributs pour cet élément.
getAttributes()
Tableau<ai.xml.attribute>
Obtient les attributs de cet élément.
getAttributeValue( name )
  • name : Nom de la chaîne de l'attribut
Chaîne
Obtient la valeur de l'attribut du nom donné.
getChildElement( name )
  • name : Nom de la chaîne de l'élément
ai.xml.element
Obtient le premier élément enfant ayant le prénom précisé.
GetChildElementAt( index )
  • index : index entier de l’élément
ai.xml.element
Obtient un élément enfant à l’index donné dans les éléments enfants.
getChildElements()
Tableau<ai.xml.elements>
Obtient le tableau de tous les éléments enfants pour cet élément.
getChildElements( nom)
  • name : Nom de la chaîne des éléments
Tableau<ai.xml.element>
Obtient le tableau des éléments enfants pour cet élément avec le nom donné.
getCommentText()
Chaîne
Obtient le texte de commentaire.
getName()
Chaîne
Obtient le nom qualifié de cet élément.
getText()
Chaîne
Obtient le texte de cet élément ou CDATA.
hasContents()
Booléen
Indique si cet élément a ou non un contenu enfant : texte, CDATA ou éléments enfants.
RemoveAllAttributes()
Supprime tous les attributs de cet élément.
retirezAttribute( nom)
  • name : Nom de la chaîne de l'attribut
Supprime l'attribut du nom donné dans le tableau des attributs d'éléments et répresse le tableau.
removeChildElement( name )
  • name : Nom de la chaîne de l'élément
Supprime le premier élément enfant ayant le nom précisé.
RetirerChildElementAt( index)
  • index : index entier de l’élément
Supprime un élément enfant à l'index donné dans les éléments enfants.
removeChildElements()
Entier
Supprime tous les éléments enfants de cet élément et renvoie le nombre d'éléments supprimés.
RetirerChildElements( nom)
  • name : Nom de la chaîne des éléments
Entier
Supprime tous les éléments enfants du nom d'élément donné de cet élément et renvoie le nombre d'éléments supprimés.
removeComments()
Supprime tous les commentaires joints directement à cet élément.
removeText()
Supprime tout le texte (y compris les sections CDATA) rattaché directement à cet élément.
setAttribute( attribut)
  • attribute : ai.xml.attribute Objet d'attribut à ajouter
Ajoute un attribut à cet élément.
setAttribute(name, value )
  • name : Nom de la chaîne de l'attribut
  • value : valeur de chaîne de l’attribut
Définit la valeur de l'attribut du nom donné pour cet élément.
set CDATAText( text )
  • text : texte de CDATA de chaîne
Retire tout contenu existant (à l’exception des commentaires) de cet élément, y compris les éléments enfants, puis définit le texte de section CDATA pour cet élément.
setCommentText( text )
  • text : Texte de commentaire sous forme de chaîne
Supprime tous les commentaires joints directement à cet élément, puis ajoute un nouveau commentaire avec le texte donné.
setName( name )
  • name : Nom de la chaîne de l'élément
Définit le nom de cet élément.
setText( text )
  • text : valeur de chaîne de l'élément
Supprime tout le contenu existant (à l’exception des commentaires) de cet élément, y compris les éléments enfants, puis définit le texte de l’élément.
ToString()
Fournit une représentation sous forme de chaîne formatée de cet élément.
Exemples
Exemple pour CreateDocument(), CreateElement(name), addChildElement(name), clone(), setText(), setCommentText(text), getCommentText()
// create XML document var doc = ai.xml.createDocument(); // create root element var requestEl = ai.xml.createElement('request'); // create an element '<control>' var controlEl = ai.xml.createElement('control'); //create a username or id element '<senderid>' var senderIdEl = ai.xml.createElement('senderid'); //set text for the senderid element 'adaptive planning' senderIdEl.setText('adaptiveplanning'); //add <senderid> to <control> element controlEl.addChildElement(senderIdEl); //create a <password> element var passwordEl = ai.xml.createElement('password'); //set text for the password element 'pwd' passwordEl.setText('pwd'); //add <password> to <control> element controlEl.addChildElement(passwordEl); //add <control> element to the root requestEl.addChildElement(controlEl); //clone the sender id element cloneEl=senderIdEl.clone(); //add clone() element to the root element requestEl.addChildElement(cloneEl); //setCommentText requestEl.setCommentText("The above element is cloned"); //get comment text ai.log.logInfo(getCommentText()); //Log Output: The above element is cloned //set document's root doc.setRootElement(requestEl); /* Output: <request> <control> <senderid>adaptiveplanning</senderid> </control> <senderid>adaptiveplanning</senderid> <!-- The above element is cloned--> </request> */
Exemple pour getChildElement(), getChildElementAt(), getChildElements et getChildElements( name )
// create XML document var doc = ai.xml.createDocument(); // create root element var requestEl = ai.xml.createElement('request'); // create an element '<control>' var controlEl = ai.xml.createElement('control'); //create a username or id element '<senderid>' var senderIdEl = ai.xml.createElement('senderid'); //set text for the senderid element 'adaptive planning' senderIdEl.setText('Sender id 1'); //add <senderid> to <control> element controlEl.addChildElement(senderIdEl); //create another sender id element '<senderid>' var senderIdEl2 = ai.xml.createElement('senderid'); //set text for the senderid element 'adaptive planning' senderIdEl2.setText('Sender id 2'); //add <senderid> to <control> element controlEl.addChildElement(senderIdEl2); //create a <password> element var passwordEl = ai.xml.createElement('password'); //set text for the password element 'pwd' passwordEl.setText('pwd'); //add <password> to <control> element controlEl.addChildElement(passwordEl); //add <control> element to the root requestEl.addChildElement(controlEl); //set document's root doc.setRootElement(requestEl); //getChildElement(name) var firstChildElement="First Child element of <control> is "+requestEl.getChildElement( "senderid" ).toString(); //Output: First Child element of <control> is <senderid>Sender id 1</senderid> //getChildElementAt(index) var elementIndex="Element at index 0 is"+requestEl.getChildElementAt( 0 ).toString(); /* Output: Element at index 0 is <control><senderid>Sender id 1</senderid><senderid>Sender id 2</senderid><password>pwd</password></control> */ //getChildElements() var specificChildElements="Child elements for the control element:"+controlEl.getChildElements().toString(); //Output: <senderid>Sender id 1</senderid><senderid>Sender id 2</senderid><password>pwd</password> //getChildElements(name) var childElementsControl="All child elements of control element with <senderid>: "+controlEl.getChildElements("senderid" ).toString(); //Output:All child elements of control element with <senderid>:<senderid>Sender id 1</senderid>,<senderid>Sender id 2</senderid>
Exemples pour hasContents(), RemoveChildElement( name ), RemoveChildElementAt(index), RemoveChildElements() et RemoveChildElements( name )
// create XML document var doc = ai.xml.createDocument(); // create root element var requestEl = ai.xml.createElement('request'); // create an element '<control>' var controlEl = ai.xml.createElement('control'); //create a username or id element '<senderid>' var senderIdEl = ai.xml.createElement('senderid'); //set text for the senderid element 'adaptive planning' senderIdEl.setText('Sender id 1'); //getText() ai.log.logInfo(senderIdEl.getText()); //Sender id 1 //add <senderid> to <control> element controlEl.addChildElement(senderIdEl); //create another sender id element '<senderid>' var senderIdEl2 = ai.xml.createElement('senderid'); //set text for the senderid element 'adaptive planning' senderIdEl2.setText('Sender id 2'); //add <senderid> to <control> element controlEl.addChildElement(senderIdEl2); //create a <password> element var passwordEl = ai.xml.createElement('password'); //set text for the password element 'pwd' passwordEl.setText('pwd'); //add <password> to <control> element controlEl.addChildElement(passwordEl); //add <control> element to the root requestEl.addChildElement(controlEl); //set document's root doc.setRootElement(requestEl); //removeChildElement of <control> element - First child element removal var removeFirstChildElement=controlEl.removeChildElement( "senderid" ); /*Output: |Inital XML | After removal of the child element <request> <request> <control> <control> <senderid>Sender id 1</senderid> <senderid>Sender id 2</senderid> <senderid>Sender id 2</senderid> <password>pwd</password> <password>pwd</password> </control> <control/> </request> <request/> */ //removeChildElementAt index 0 var removeIndexChildElement=requestEl.removeChildElementAt(0); /*Output: |Initial XML | After removing the child element at index 0 <request> <request><request/> <control> <senderid>Sender id 1</senderid> <senderid>Sender id 2</senderid> <password>pwd</password> <control/> <request/> */ //removeChildElements() var removeAllChildElements= controlEl.removeChildElements(); /*Output: |Initial XML | After removing the child element at index 0 <request> <request><control/><request/> <control> <senderid>Sender id 1</senderid> <senderid>Sender id 2</senderid> <password>pwd</password> <control/> <request/> */ //removeChildElements( name ) and hasContents() if(controlEl.hasContents()){ var removeSpecificElement=controlEl.removeChildElement( "senderid" ); } /*Output: |Inital XML | After removal of the child element <request> <request> <control> <control> <senderid>Sender id 1</senderid> <password>pwd</password> <senderid>Sender id 2</senderid> </control> <password>pwd</password> </request> <control/> <request/> */

ai.xml.attribute

Méthode
Paramètres
Retours
Description
clone()
ai.xml.attribute
Renvoie un clone de cet attribut.
getName()
Chaîne
Obtient le nom de l'attribut.
getValue()
Chaîne
Obtient la valeur de l'attribut.
setName( name )
  • name : Nom de la chaîne de l'attribut
Définit le nom de l'attribut.
setValue( value )
  • value : valeur de chaîne de l’attribut
Définit la valeur de l'attribut.
ToString()
Renvoie une représentation de chaîne de cet attribut.
Exemple
var tablesElement = ai.xml.createElement('Tables'); var table1Element = ai.xml.createElement('Table'); var row1=ai.xml.createElement('row'); var row2=ai.xml.createElement('row'); //Create a new arribute var attribute1 = ai.xml.createAttribute('remoteId', '248'); //Add the attribute to <table> element using setAttribute(ai.xml.attribute) table1Element.setAttribute(attribute1); //Or set the name and value of the attribute for the <row> elements using setAttribute(name,value) row1.setAttribute('age','50'); row1.setAttribute('color','white'); row2.setAttribute('age','35'); row2.setAttribute('color','blue'); //Set text for the <table> element table1Element.setText('Sample table'); //Add <table> as the child of <tables> element tablesElement.addChildElement(table1Element); table1Element.addChildElement(row1); table1Element.addChildElement(row2); /*Ouput <Tables> <Table remoteId="248"> Sample table <row age="50" /> <row age="35" /> </Table> </Tables> */ //Clone() attributes var cloned = row1.clone(); cloned.setName('cloned_row'); table1Element.addChildElement(cloned); /*Ouput <Tables> <Table remoteId="248"> Sample table <row age="50" /> <row age="35" /> <cloned_row age="50"> </Table> </Tables> */ //getAttribute( name ) ai.log.logInfo(table1Element.getAttribute("remoteid")); //Output:remoteId="248" //getAttributeAt( index ) ai.log.logInfo(row1.getAttributeAt(0).toString()); //Output: age=50 //getAttributes() ai.log.logInfo(row1.getAttributes().toString()); //Output: age="50",color="white" //getAttributeValue( name ) ai.log.logInfo(row2.getAttributeValue('color').toString()); //Output: blue //removeAttribute( name ) var removeRow1Attribute=row1.removeAttribute('age'); /*Output: |Inital XML | After removing the attribute 'age' for row1 <Tables> <Tables> <Table remoteId="248">Sample table <Table remoteId="248">Sample table <row age="50" color="white" /> <row color="white" /> <row age ="35" color="blue" /> <row age ="35" color="blue" /> <Table/> <Table/> <Tables/> <Tables/> */ //removeAllAttributes() var removeRow1Attributes=row1.removeAllAttributes(); /*Output: |Inital XML | After removing the attribute 'age' for row1 <Tables> <Tables> <Table remoteId="248">Sample table <Table remoteId="248">Sample table <row age="50" color="white" /> <row/> <row age ="35" color="blue" /> <row age ="35" color="blue" /> <Table/> <Table/> <Tables/> <Tables/> */

Afficher des journaux de sortie XML avec AWS S3

Vous devez analyser votre exemple XML avant d’enregistrer les résultats à l’aide des méthodes ai.log. Pour afficher des exemples XML brut, convertissez le fichier en chaîne avec
toString()
fonction et affichez le fichier dans votre intervalle AWS S3.
Utilisez l’exemple ci-dessous pour vous connecter à votre instance AWS S3 afin de créer et d’afficher vos résultats au format XML. Vous aurez besoin du nom de compartiment, de la clé, de la clé d’accès, de la clé secrète et des valeurs régionales. Pour plus d’informations et des exemples de codes, voir ai.AWss3
Exemple
function testConnection(context) { var bucketName = 'xxx'; var key = 'newfile.xml'; var awsAccessKey = 'xxx'; var awsSecretKey = 'xxx'; var region = 'xxx' var doc = ai.xml.createDocument(); var docType = ai.xml.createDocType('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'); //set doc type doc.setDOCTYPE(docType); //get doc type var getdocType="Doc type is"+doc.getDOCTYPE().toString(); var rootEl = ai.xml.createElement('Books'); //set root element doc.setRootElement(rootEl); //get root element var getroot="Root element is "+doc.getRootElement().toString(); //Combine the Doc type and the root element sentences to form a string var result = getdocType+"\n"+getroot; //send the string to a file on aws ai.awss3.putFile(bucketName, key, result.toString(), region, awsAccessKey, awsSecretKey); return true; } /* Output: Doc type is<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Root element is <Books /> */