メインコンテンツにスキップ
Adaptive Planning
最終更新: 2024-09-20
ai.xml

ai.xml

関数

方法
パラメータ
返品
説明
createFromUrl(url, メソッド, 本文, ヘッダー, コールバック)
2018.3 時点で使用可能
URL: 文字列有効な URL
method: 文字列の有効な HTTP メソッド
body: 文字列リクエスト本文
headers: 文字列 HTTP ヘッダー
コールバック: オブジェクト A 関数
ai.xml.sax
XML ストリームを解析できる XML SAX パーサー オブジェクトを作成します。
createFromUrlWith Authorisation(url, メソッド, 本文, ヘッダー, コールバック)
2018.3 時点で使用可能
URL: 文字列有効な URL
method: 文字列の有効な HTTP メソッド
body: 文字列リクエスト本文
headers: 文字列 HTTP ヘッダー
コールバック: オブジェクト A 関数
ai.xml.sax
OAuth を使った認証によって XML ストリームを解析できる XML SAX パーサー オブジェクトを作成します。
createParser()
ai.xml.parser
XML 文字列を解析できる XML パーサー オブジェクトを作成します。
createDocument()
ai.xml.document
XML ドキュメントを作成します。
createDocType( xmlStr )
  • xmlStr: 文字列は有効な DOCType XML 文字列
ai.xml.docType
XML ドキュメントに追加される doctype オブジェクトを作成して、その doctype を定義します。
createElement( name )
  • name: XML 要素の文字列名前
ai.xml.element
XML ドキュメントの基本的な構成ブロックであり、XML ドキュメントに追加できる XML 要素を作成します。
createAttribute( name, value )
  • name: 特性の文字列名前
  • value: 特性の文字列値
ai.xml.attribute
XML 要素に追加できる特性オブジェクトを作成します。
// 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

方法
パラメータ
返品
説明
createFromText()
XML: 文字列
エンコード: UTF8
コールバック: 関数を持つオブジェクト
ai.xml.sax
XML テキストを解析できる XML SAX パーサー オブジェクトを作成します。
250 万文字に制限されます。
createFromUrl()
URL: 文字列有効な URL
method: 文字列の有効な HTTP メソッド
body: 文字列リクエスト本文
headers: 文字列 HTTP ヘッダー
callbacks: 関数を持つオブジェクト
ai.xml.sax
XML ストリームを解析できる XML SAX パーサー オブジェクトを作成します。
createFromUrlWithAuthorisation()
URL: 文字列有効な URL
method: 文字列の有効な HTTP メソッド
body: 文字列リクエスト本文
headers: 文字列 HTTP ヘッダー
callbacks: 関数を持つオブジェクト
ai.xml.sax
OAuth を使った認証によって XML ストリームを解析できる XML SAX パーサー オブジェクトを作成します。
設定
ai.xml.sax
以下の使用例
callbacks
。コールバックは、別の関数の実行が完了した後に実行される関数です。ai.xml.sax パーサーでコールバックを使用するメリットの 1 つは、エラーをキャッチし、それを CCDS の実行のログに記録することで、トラブルシューティングを容易にできることです。
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

方法
パラメータ
返品
説明
parse( xmlStr )
  • xmlStr Valid XML document string
ai.xml.document
有効な XML ドキュメント文字列を解析して XML ドキュメントを作成します。
解析の例
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

方法
パラメータ
返品
説明
clone()
ai.xml.document
このドキュメントのクローンを返します。
getDOCType()
ai.xml.docType
ドキュメントの DOCType を取得します。
getRootElement()
ai.xml.element
ドキュメントのルート要素を取得します。
setDOCTYPE( docType )
  • docType: ai.xml.docType ドキュメントを次のように設定します。
ドキュメントの DOCType を設定します。
setRootElement( element )
  • 要素: ai.xml. element ドキュメントのルート要素になります。
ドキュメント ルート要素を設定します。
toString()
XML ドキュメントのフォーマットされた文字列表現を提供します。

ai.xml.docType

方法
パラメータ
返品
説明
toString()
String
このドキュメント タイプ宣言の文字列を提供します。
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

方法
パラメータ
返品
説明
addChildElement( element )
  • 要素: ai.xml.event 追加する要素
子要素を追加します。
clone()
ai.xml.element
この要素のクローンを返します。
getAttribute( name )
name: 特性の文字列名前
ai.xml.attribute
指定された名前の属性を取得します。
getAttributeAt(index)
index: 特性の整数インデックス
ai.xml.attribute
この要素の特性配列の指定されたインデックスにある特性を取得します。
getAttributes()
Array<ai.xml.attribute>
この要素の特性を取得します。
getAttributeValue( name )
  • name: 特性の文字列名前
String
指定された名前の特性の値を取得します。
getChildElement( name )
  • name: 要素の文字列名前
ai.xml.element
指定された名前を持つ最初の子要素を取得します。
getChildElementAt( index )
  • index: 要素の整数インデックス
ai.xml.element
子要素内の指定されたインデックスにある子要素を取得します。
getChildElements()
Array<ai.xml.elements>
この要素のすべての子要素の配列を取得します。
getChildElements( name )
  • name: 要素の文字列名前
Array<ai.xml.element>
指定された名前を持つこの要素の子要素の配列を取得します。
getCommentText()
String
コメント テキストを取得します。
getName()
String
この要素の修飾名を取得します。
getText()
String
この要素のテキストまたは CDA を取得します。
hasContents()
ブール値
この要素に子の内容 (テキスト、CDDATA、子要素) があるかどうかを示します。
removeAllAttributes()
この要素からすべての特性を削除します。
removeAttribute( name )
  • name: 特性の文字列名前
要素特性の配列内の指定された名前の特性を削除し、配列を再圧縮します。
removeChildElement( name )
  • name: 要素の文字列名前
指定された名前を持つ最初の子要素を削除します。
removeChildElementAt( index )
  • index: 要素の整数インデックス
子要素内の指定されたインデックスにある子要素を削除します。
removeChildElements()
整数
この要素からすべての子要素を削除し、削除された要素の数を返します。
removeChildElements( name )
  • name: 要素の文字列名前
整数
この要素から指定された要素名のすべての子要素を削除し、削除された要素の数を返します。
removeComments()
この要素に直接添付されているすべてのコメントを削除します。
removeText()
この要素に直接添付されているすべてのテキスト (CDA セクションを含む) を削除します。
setAttribute( attribute)
  • attribute: ai.xml.attribute 追加する特性オブジェクト
この要素に特性を追加します。
setAttribute(name, value )
  • name: 特性の文字列名前
  • value: 特性の文字列値
この要素について、指定された名前の特性の値を設定します。
setCDATAText( text )
  • text : 文字列 CDDATA テキスト
子要素を含むこの要素から既存のコンテンツ (コメントを除く) をすべて削除し、この要素の CDATA セクション テキストを設定します。
setCommentText( text )
  • text: 文字列コメント
この要素に直接添付されているすべてのコメントを削除し、指定されたテキストで新しいコメントを追加します。
setName( name )
  • name: 要素の文字列名前
この要素の名前を設定します。
setText( text )
  • text: 要素の文字列テキスト値
子要素を含むこの要素から既存の内容 (コメントを除く) をすべて削除し、要素のテキストを設定します。
toString()
この要素のフォーマットされた文字列表現を提供します。
使用例
// 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> */
get子要素()、get子要素At()、getていた子要素、get子要素( 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>
使用例
// 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

方法
パラメータ
返品
説明
clone()
ai.xml.attribute
この特性のクローンを返します。
getName()
String
特性の名前を取得します。
getValue()
String
特性の値を取得します。
setName( name )
  • name: 特性の文字列名前
特性の名前を設定します。
setValue( value )
  • value: 特性の文字列値
特性の値を設定します。
toString()
この特性の文字列表現を返します。
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/> */

AWS S3 の XML 出力ログの表示

ai.log メソッドを使用して結果を記録する前に、サンプル XML を解析する必要があります。生の XML サンプルを表示するには、ファイルを次の文字列に変換します。
toString()
関数し、AWS S3 バケット内のファイルを表示する。
以下の例を使用して、XML の結果を作成および表示する AWS S3 インスタンスに接続します。バケット名、キー、アクセス キー、秘密キー、地方値が必要になります。詳細とコードの例については、ai.awss3 を参照してください
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 /> */