Zum Hauptinhalt wechseln
Adaptive Planning
Zuletzt aktualisiert: 2024-09-20
ai.xml

ai.xml

Funktionen

Methode
Parameter
Retouren
Beschreibung
createFromUrl(url, Methode, Text, Header, Callbacks)
verfügbar ab 2018.3
url: Zeichenfolgengültige URL
method: Zeichenfolge Gültige HTTP-Methode
body: Zeichenfolge-Anforderungstext
Header: Zeichenfolge HTTP-Header
Callbacks: Objekt eine Funktion
ai.xml.sax
Erstellt ein XML-SAX-Parser-Objekt, das einen XML-Stream parsen kann.
createFromUrlWithAuthorization(url, Methode, Text, Header, Callbacks)
verfügbar ab 2018.3
url: Zeichenfolgengültige URL
method: Zeichenfolge Gültige HTTP-Methode
body: Zeichenfolge-Anforderungstext
Header: Zeichenfolge HTTP-Header
Callbacks: Objekt eine Funktion
ai.xml.sax
Erstellt ein XML-SAX-Parser-Objekt, das einen XML-Stream mit Autorisierung über OAuth parsen kann.
createParser()
ai.xml.parser
Erstellt ein XML-Parser-Objekt, das XML-Zeichenfolgen parsen kann.
createDocument()
ai.xml.document
Erstellt ein XML-Dokument.
createDocType( xmlStr )
  • xmlStr : Zeichenfolge Gültige DOCTYPE-XML-Zeichenfolge
ai.xml.docType
Erstellen Sie ein Doctype-Objekt, das zu einem XML-Dokument hinzugefügt wird, um seinen Doctype zu definieren.
createElement(Name)
  • name : Zeichenfolge Name des XML-Elements
ai.xml.element
Erstellen Sie ein XML-Element, das den grundlegenden Baustein eines XML-Dokuments darstellt und zu einem XML-Dokument hinzugefügt werden kann.
createAttribute( Name, Wert)
  • name : Zeichenfolge Name des Attributs
  • value: Zeichenfolgenwert des Attributs
ai.xml.attribute
Erstellt ein Attributobjekt, das zu einem XML-Element hinzugefügt werden kann.
Beispiele
// 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
Parameter
Retouren
Beschreibung
createFromText()
XML:Zeichenfolge
Codierung: UTF8
Callbacks: Ein Objekt mit Funktionen
ai.xml.sax
Erstellt ein XML-SAX-Parser-Objekt, das XML-Text parsen kann.
Beschränkung auf 2,5 Millionen Zeichen.
createFromUrl()
url: Zeichenfolgengültige URL
method: Zeichenfolge Gültige HTTP-Methode
body: Zeichenfolge-Anforderungstext
Header: Zeichenfolge HTTP-Header
Callbacks: Ein Objekt mit Funktionen
ai.xml.sax
Erstellt ein XML-SAX-Parser-Objekt, das einen XML-Stream parsen kann.
createFromUrlWithAuthorization()
url: Zeichenfolgengültige URL
method: Zeichenfolge Gültige HTTP-Methode
body: Zeichenfolge-Anforderungstext
Header: Zeichenfolge HTTP-Header
Callbacks: Ein Objekt mit Funktionen
ai.xml.sax
Erstellt ein XML-SAX-Parser-Objekt, das einen XML-Stream mit Autorisierung über OAuth parsen kann.
Die
ai.xml.sax
werden die folgenden Beispiele verwendet
callbacks
. Ein Callback ist eine Funktion, die ausgeführt wird, nachdem die Ausführung einer anderen Funktion abgeschlossen ist. Einer der Vorteile der Verwendung von Callbacks mit ai.xml.sax-Parsern besteht darin, dass Sie Fehler erfassen und diese Fehler in den Protokollen einer CCDS-Ausführung anzeigen können, um die Fehlerbehebung zu erleichtern.
ai.xml.sax.createFromText example
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
Parameter
Retouren
Beschreibung
parse( xmlStr )
  • xmlStr Gültige XML-Dokumentzeichenfolge
ai.xml.document
Parst eine gültige XML-Dokumentzeichenfolge in ein XML-Dokument.
Beispiel für Parsing
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
Parameter
Retouren
Beschreibung
clone()
ai.xml.document
Gibt einen Klon dieses Dokuments zurück.
getDOCTYPE()
ai.xml.docType
Ruft das Dokument DOCTYPE ab.
getRootElement()
ai.xml.element
Ruft das Root-Element im Dokument ab.
setDOCTYPE( docType)
  • docType: ai.xml.docType DOCTYPE, um das Dokument auf zu setzen
Legt den Wert des Dokuments DOCTYPE fest.
setRootElement(-Element)
  • Element: ai.xml.element Das Element soll das Root-Element des Dokuments sein.
Legt das Dokument-Root-Element fest.
toString()
Stellt eine formatierte Zeichenfolgendarstellung des XML-Dokuments bereit.

ai.xml.docType

Methode
Parameter
Retouren
Beschreibung
toString()
String
Stellt eine Zeichenfolgendarstellung dieser Dokumentartdeklaration bereit.
Beispiel
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
Parameter
Retouren
Beschreibung
addChildElement(Element)
  • Element: ai.xml.element Hinzuzufügendes Element
Fügt ein untergeordnetes Element hinzu.
clone()
ai.xml.element
Gibt einen Klon dieses Elements zurück.
getAttribute( name)
name : Zeichenfolge Name des Attributs
ai.xml.attribute
Ruft das Attribut des angegebenen Namens ab.
getAttributeAt( index )
index: Ganzzahl-Index des Attributs
ai.xml.attribute
Ruft das Attribut am angegebenen Index des Attribut-Arrays für dieses Element ab.
getAttributes()
Array<ai.xml.attribute>
Ruft die Attribute dieses Elements ab.
getAttributeValue( name)
  • name : Zeichenfolge Name des Attributs
String
Ruft den Wert des Attributs des angegebenen Namens ab.
getChildElement( name )
  • name: Zeichenfolge Name des Elements
ai.xml.element
Ruft das erste untergeordnete Element mit dem angegebenen Vornamen ab.
getChildElementAt( index )
  • index: Ganzzahl-Index des Elements
ai.xml.element
Ruft ein untergeordnetes Element am angegebenen Index innerhalb der untergeordneten Elemente ab.
getChildElements()
Array<ai.xml.elements>
Ruft das Array aller untergeordneten Elemente für dieses Element ab.
getChildElements( name )
  • name : Zeichenfolge Name des Elements
Array<ai.xml.element>
Ruft das Array untergeordneter Elemente für dieses Element mit dem angegebenen Namen ab.
getCommentText()
String
Ruft den Kommentartext ab.
getName()
String
Ruft den qualifizierten Namen dieses Elements ab.
getText()
String
Ruft den Text dieses Elements oder CDATA ab.
hasContents()
Boolesch
Gibt an, ob dieses Element untergeordnete Inhalte hat oder nicht: Text, CDATA oder untergeordnete Elemente.
RemoveAllAttributes()
Entfernt alle Attribute aus diesem Element.
RemoveAttribute( Name)
  • name : Zeichenfolge Name des Attributs
Entfernt das Attribut des angegebenen Namens im Array der Elementattribute und druckt das Array erneut.
RemoveChildElement(Name)
  • name: Zeichenfolge Name des Elements
Entfernt das erste untergeordnete Element mit dem angegebenen Namen.
removeChildElementAt( index )
  • index: Ganzzahl-Index des Elements
Entfernt ein untergeordnetes Element am angegebenen Index innerhalb der untergeordneten Elemente.
RemoveChildElements()
Ganzzahl
Entfernt alle untergeordneten Elemente aus diesem Element und gibt die Anzahl der entfernten Elemente zurück.
RemoveChildElements(Name)
  • name : Zeichenfolge Name des Elements
Ganzzahl
Entfernt alle untergeordneten Elemente des angegebenen Elementnamens aus diesem Element und gibt die Anzahl der entfernten Elemente zurück.
removeComments()
Entfernt alle Kommentare, die direkt an dieses Element angehängt sind.
removeText()
Entfernt den gesamten Text (einschließlich CDATA-Abschnitte), der direkt an dieses Element angehängt ist.
setAttribute( Attribut)
  • Attribute: ai.xml.attribute Das hinzuzufügende Attributobjekt
Fügt diesem Element ein Attribut hinzu.
setAttribute(Name, Wert)
  • name : Zeichenfolge Name des Attributs
  • value: Zeichenfolgenwert des Attributs
Legt den Wert des Attributs des angegebenen Namens für dieses Element fest.
setCDATAText( text )
  • text : Zeichenfolge CDATA-Text
Entfernt den gesamten vorhandenen Inhalt (außer Kommentaren) aus diesem Element, einschließlich untergeordneter Elemente, und legt dann den Abschnittstext CDATA für dieses Element fest.
setCommentText( text )
  • text: Zeichenfolgenkommentartext
Entfernt alle Kommentare, die direkt an dieses Element angehängt sind, und fügt dann einen neuen Kommentar mit dem angegebenen Text hinzu.
setName( Name )
  • name: Zeichenfolge Name des Elements
Legt den Namen dieses Elements fest.
setText( text )
  • text : Zeichenfolge Textwert des Elements
Entfernt den gesamten vorhandenen Inhalt (außer Kommentaren) aus diesem Element, einschließlich untergeordneter Elemente, und legt dann den Elementtext fest.
toString()
Stellt eine formatierte Zeichenfolgendarstellung dieses Elements bereit.
Beispiele
Beispiel für 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> */
Beispiel für getChildElement(), getChildElementAt(), getChildElements und 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>
Beispiele für hasContents(), RemoveChildElement( Name), RemoveChildElementAt(Index), RemoveChildElements() und 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
Parameter
Retouren
Beschreibung
clone()
ai.xml.attribute
Gibt einen Klon dieses Attributs zurück.
getName()
String
Ruft den Namen des Attributs ab.
getValue()
String
Ruft den Wert des Attributs ab.
setName( Name )
  • name : Zeichenfolge Name des Attributs
Legt den Namen des Attributs fest.
setValue(Wert)
  • value: Zeichenfolgenwert des Attributs
Legt den Wert des Attributs fest.
toString()
Gibt eine Zeichenfolgendarstellung dieses Attributs zurück.
Beispiel
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/> */

Anzeige von XML-Ausgabeprotokollen mit AWS S3

Sie müssen Ihre Beispiel-XML parsen, bevor Sie die Ergebnisse mit den ai.log-Methoden protokollieren. Um unformatierte XML-Beispiele anzuzeigen, konvertieren Sie die Datei mit in eine Zeichenfolge
toString()
-Funktion und zeigen Sie die Datei in Ihrem AWS S3-Bucket an.
Verwenden Sie das folgende Beispiel, um eine Verbindung zu Ihrer AWS S3-Instanz zum Erstellen und Anzeigen Ihrer XML-Ergebnisse herzustellen. Sie benötigen Bucket-Namen, Schlüssel, Zugriffsschlüssel, geheimen Schlüssel und Regionswerte. Weitere Informationen und Beispielcodes finden Sie unter ai.awss3
Beispiel
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 /> */