Skip to main content
Adaptive Planning
Laatst bijgewerkt: 2024-09-20
ai.xml

ai.xml

Functies

Methode
Parameters
Retouren
Omschrijving
createFromUrl(url, method, body, headers, callbacks)
beschikbaar vanaf 2018.3
URL: Tekenreeks Geldige URL
methode: Tekenreeks Geldige HTTP-methode
hoofdtekst: hoofdtekst tekenreeksaanvraag
headers: tekenreeks HTTP-koptekst
callbacks: functie Object A
ai.xml.sax
Hiermee maakt u een XML SAX-parserobject dat een XML-stroom kan parseren.
createFromUrlWithAuthorization(url, method, body, headers, callbacks)
beschikbaar vanaf 2018.3
URL: Tekenreeks Geldige URL
methode: Tekenreeks Geldige HTTP-methode
hoofdtekst: hoofdtekst tekenreeksaanvraag
headers: tekenreeks HTTP-koptekst
callbacks: functie Object A
ai.xml.sax
Hiermee maakt u een XML SAX-parserobject dat een XML-stroom met autorisatie kan parseren met behulp van OAuth.
createParser()
ai.xml.parser
Hiermee maakt u een XML-parserobject dat XML-tekenreeksen kan parseren.
createDocument()
ai.xml.document
Hiermee maakt u een XML-document.
createDocType( xmlStr )
  • xmlStr: Tekenreeks Geldige XML-tekenreeks DOCTYPE
ai.xml.docType
Maak een doctype-object dat aan een XML-document wordt toegevoegd om het doctype te definiëren.
createElement( name )
  • name : Tekenreeksnaam van het XML-element
ai.xml.element
Maak een XML-element, de basisbouwsteen van een XML-document, dat aan een XML-document kan worden toegevoegd.
createAttribute( name, value )
  • name : Tekenreeksnaam van het kenmerk
  • value : Tekenreekswaarde van het kenmerk
ai.xml.attribute
Hiermee maakt u een kenmerkobject dat aan een XML-element kan worden toegevoegd.
Voorbeelden
// 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

Methode
Parameters
Retouren
Omschrijving
createFromText()
XML:string
Codering: UTF8
Callbacks: een object met functies
ai.xml.sax
Hiermee maakt u een XML SAX-parserobject dat XML-tekst kan parseren.
Beperkt tot 2,5 miljoen tekens.
createFromUrl()
URL: Tekenreeks Geldige URL
methode: Tekenreeks Geldige HTTP-methode
hoofdtekst: hoofdtekst tekenreeksaanvraag
headers: tekenreeks HTTP-koptekst
callbacks: een object met functies
ai.xml.sax
Hiermee maakt u een XML SAX-parserobject dat een XML-stroom kan parseren.
createFromUrlWithAuthorization()
URL: Tekenreeks Geldige URL
methode: Tekenreeks Geldige HTTP-methode
hoofdtekst: hoofdtekst tekenreeksaanvraag
headers: tekenreeks HTTP-koptekst
callbacks: een object met functies
ai.xml.sax
Hiermee maakt u een XML SAX-parserobject dat een XML-stroom met autorisatie kan parseren met behulp van OAuth.
De
ai.xml.sax
onderstaande voorbeelden gebruiken:
callbacks
. Een callback is een functie die wordt uitgevoerd nadat een andere functie is voltooid. Een van de voordelen van het gebruik van callbacks met ai.xml.sax-parsers is dat u fouten kunt opvangen en deze fouten kunt weergeven in de logboeken van een CCDS-run om het oplossen van problemen te vereenvoudigen.
voorbeeld 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); };
ai.xml.sax.createFromUrl example
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

Methode
Parameters
Retouren
Omschrijving
parse( xmlStr )
  • xmlStr Geldige tekenreeks voor XML-document
ai.xml.document
Parseert een geldige XML-documenttekenreeks in een XML-document.
Voorbeeld voor parseren
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

Methode
Parameters
Retouren
Omschrijving
clone()
ai.xml.document
Retourneert een kloon van dit document.
getDOCTYPE()
ai.xml.docType
Hiermee wordt het document DOCTYPE opgehaald.
getRootElement()
ai.xml.element
Hiermee wordt het hoofdelement in het document opgehaald.
setDOCTYPE( docType )
  • docType: ai.xml.docType DOCTYPE om het document in te stellen op
Hiermee stelt u het document DOCTYPE in.
setRootElement( element )
  • element: ai.xml.element Element dat het hoofdelement van het document moet zijn.
Hiermee stelt u het hoofdelement van het document in.
toString()
Biedt een opgemaakte tekenreeksweergave van het XML-document.

ai.xml.docType

Methode
Parameters
Retouren
Omschrijving
toString()
String
Biedt een tekenreeksweergave van dit documenttypedeclaratie.
Voorbeeld
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

Methode
Parameters
Retouren
Omschrijving
addChildElement( element )
  • element: ai.xml.element Toe te voegen element
Hiermee wordt een onderliggend element toegevoegd.
clone()
ai.xml.element
Retourneert een kloon van dit element.
getAttribute( name )
name : Tekenreeksnaam van het kenmerk
ai.xml.attribute
Hiermee wordt het kenmerk van de opgegeven naam opgehaald.
getAttributeAt( index )
index: Integer Index van kenmerk
ai.xml.attribute
Haalt het kenmerk op in de opgegeven index van de kenmerkenmatrix voor dit element.
getAttributes()
Array<ai.xml.attribute>
Hiermee worden de kenmerken van dit element opgehaald.
getAttributeValue( name )
  • name : Tekenreeksnaam van het kenmerk
String
Hiermee wordt de waarde van het kenmerk van de opgegeven naam opgehaald.
getChildElement( name )
  • name : Tekenreeksnaam van het element
ai.xml.element
Hiermee wordt het eerste onderliggende element met de opgegeven opgegeven naam opgehaald.
getChildElementAt( index )
  • index: Integer Index van het element
ai.xml.element
Hiermee wordt een onderliggend element opgehaald bij de opgegeven index binnen de onderliggende elementen.
getChildElements()
Array<ai.xml.elements>
Hiermee wordt de matrix van alle onderliggende elementen voor dit element opgehaald.
getChildElements( name )
  • name : Tekenreeks Naam van de elementen
Array<ai.xml.element>
Hiermee wordt de matrix met onderliggende elementen voor dit element met de opgegeven naam opgehaald.
getCommentText()
String
Hiermee wordt de tekst van de opmerking opgehaald.
getName()
String
Hiermee wordt de gekwalificeerde naam van dit element opgehaald.
getText()
String
Hiermee wordt de tekst van dit element of CDATA opgehaald.
hasContents()
Boole-waarde
Hiermee wordt aangegeven of dit element onderliggende inhoud heeft: tekst-, CDATA- of onderliggende elementen.
removeAllAttributes()
Hiermee worden alle kenmerken van dit element verwijderd.
removeAttribute( name )
  • name : Tekenreeksnaam van het kenmerk
Hiermee wordt het kenmerk van de opgegeven naam in de matrix met elementkenmerken verwijderd en wordt de matrix opnieuw gecomprimeerd.
removeChildElement( name )
  • name : Tekenreeksnaam van het element
Hiermee wordt het eerste onderliggende element met de opgegeven naam verwijderd.
removeChildElementAt( index )
  • index: Integer Index van het element
Hiermee wordt een onderliggend element in de opgegeven index binnen de onderliggende elementen verwijderd.
removeChildElements()
Geheel getal
Alle onderliggende elementen van dit element worden verwijderd en het aantal verwijderde elementen wordt geretourneerd.
removeChildElements( name )
  • name : Tekenreeks Naam van de elementen
Geheel getal
Hiermee worden alle onderliggende elementen van de opgegeven elementnaam uit dit element verwijderd en wordt het aantal verwijderde elementen geretourneerd.
removeComments()
Hiermee worden alle opmerkingen verwijderd die rechtstreeks aan dit element zijn gekoppeld.
removeText()
Hiermee wordt alle tekst (inclusief CDATA-secties) verwijderd die rechtstreeks aan dit element is gekoppeld.
setAttribute(-kenmerk)
  • attribute: ai.xml.attribute Het toe te voegen kenmerkobject
Hiermee wordt een kenmerk aan dit element toegevoegd.
setAttribute(name, value )
  • name : Tekenreeksnaam van het kenmerk
  • value : Tekenreekswaarde van het kenmerk
Hiermee stelt u de waarde in van het kenmerk van de opgegeven naam voor dit element.
setCDATAText( text )
  • text: tekenreeks CDATA-tekst
Hiermee wordt alle bestaande inhoud (behalve opmerkingen) uit dit element verwijderd, inclusief onderliggende elementen, en wordt vervolgens de CDATA-sectietekst voor dit element ingesteld.
setCommentText( text )
  • text: Tekenreeks Opmerkingstekst
Hiermee worden alle opmerkingen verwijderd die rechtstreeks aan dit element zijn gekoppeld en wordt vervolgens een nieuwe opmerking met de opgegeven tekst toegevoegd.
setName( name )
  • name : Tekenreeksnaam van het element
Hiermee stelt u de naam van dit element in.
setText( text )
  • text : Tekenreekstekstwaarde van het element
Hiermee wordt alle bestaande inhoud (behalve opmerkingen) uit dit element verwijderd, inclusief onderliggende elementen, en wordt vervolgens de elementtekst ingesteld.
toString()
Biedt een opgemaakte tekenreeksweergave van dit element.
Voorbeelden
Voorbeeld voor 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> */
Voorbeeld voor getChildElement(), getChildElementAt(), getChildElements en 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>
Voorbeelden voor hasContents(), removeChildElement( name ), removeChildElementAt(index), removeChildElements() en 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

Methode
Parameters
Retouren
Omschrijving
clone()
ai.xml.attribute
Retourneert een kloon van dit kenmerk.
getName()
String
Hiermee wordt de naam van het kenmerk opgehaald.
getValue()
String
Hiermee wordt de waarde van het kenmerk opgehaald.
setName( name )
  • name : Tekenreeksnaam van het kenmerk
Hiermee stelt u de naam van het kenmerk in.
setValue( value )
  • value : Tekenreekswaarde van het kenmerk
Hiermee stelt u de waarde van het kenmerk in.
toString()
Retourneert een tekenreeksweergave van dit kenmerk.
Voorbeeld
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/> */

XML-uitvoerlogboeken weergeven met AWS S3

U moet uw voorbeeld-XML parseren voordat u de resultaten registreert met de methoden ai.log. Als u onbewerkte XML-voorbeelden wilt weergeven, converteert u het bestand naar een tekenreeks met:
toString()
functie en bekijk het bestand in uw AWS S3-bucket.
Gebruik het onderstaande voorbeeld om verbinding te maken met uw AWS S3-instance voor het maken en weergeven van uw XML-resultaten. U hebt de waarden voor de bucketnaam, de sleutel, de toegangssleutel, de geheime sleutel en de regio nodig. Zie ai.awss3 voor meer informatie en voorbeeldcodes
Voorbeeld
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 /> */