當有多個具有相同名稱的可選子項時,我不確定如何提取內容。
- 個人可以有多個同名的孩子。例如
user_defined_text_field下面。 - 有些人可能沒有孩子。
希望下面的示例提供相關的背景關系。
資料形式
(來自服務的 API)
<api>
<response>
<service>api_search</service>
<individuals count="1">
<individual id="1">
<first_name>James</first_name>
<last_name>Jones</last_name>
<email>[email protected]</email>
<gender>M</gender>
<user_defined_text_fields>
<user_defined_text_field>
<name>udf_text_1</name>
<label>Fav Color</label>
<text>Blue</text> // ****** I WANT THIS ******
<admin_only>false</admin_only>
</user_defined_text_field>
<user_defined_text_field>
<name>udf_text_3</name>
<label>Area</label>
<text>Urban</text>
<admin_only>false</admin_only>
</user_defined_text_field>
</user_defined_text_fields>
</individual>
</individuals>
</response>
提取相關資料的當前代碼部分
(在 Google Script 中。一切正常——我只需要我在下面評論的那一行的幫助。)
// ...
const entries = fetch.getRootElement().getChild('response').getChild('individuals').getChildren();
const list = new Array();
for (let i in entries) {
const first_name = entries[i].getChildText('first_name');
const last_name = entries[i].getChildText('last_name');
const email = entries[i].getChildText('email');
const gender = entries[i].getChildText('gender');
const fav_color = ??? // ****** NEED HELP HERE ******
list.push([first_name, last_name, email, gender]);
};
// ...
uj5u.com熱心網友回復:
描述
由于user_defined_text_fields包含 的陣列user_defined_text_field,因此您必須遍歷子陣列才能找到具有顏色的子陣列。
腳本
for (let i in entries) {
var first_name = entries[i].getChildText('first_name');
var last_name = entries[i].getChildText('last_name');
var email = entries[i].getChildText('email');
var gender = entries[i].getChildText('gender');
var fields = entries[i].getChild("user_defined_text_fields");
var children = fields.getChildren("user_defined_text_field");
if( children ) {
for( var j=0; j<children.length; j ) {
if( children[j].getChildText("label") === "Fav Color" ) {
var fav_color = children[j].getChildText("text");
break;
}
}
}
}
參考
- https://developers.google.com/apps-script/reference/xml-service/element#getChildren(String)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/447624.html
標籤:javascript 谷歌应用脚本 亲子
