回答編集履歴

3

 

2022/12/21 15:15

投稿

退会済みユーザー
test CHANGED
@@ -15,10 +15,13 @@
15
15
  のように、if と elseを使います。
16
16
 
17
17
  具体的に言うと if で比較しているのは、「指定した子要素の数(length)が0より大きいか否か」という点です。
18
+ たとえば、上のスニペットの1行目
19
+ const sections = chapter.getChildren("Section");
20
+ は、chapterの子要素のうち「Section」という名前を持つ要素たちを抽出して section という変数に格納する、という意味です。
18
21
 
19
- 比較した結果がtrueであれば、要素の中に指定した子要素があると判断して、その子要素内の要素スキャンします。
22
+ 比較した結果がtrueであれば、要素の中に指定した子要素があると判断して、その子要素を順次処理します。
20
23
 
21
- 比較した結果がfalseであれば、要素の中にあるはarticleと見なし、articleを取得する関数を呼び出します。
24
+ 比較した結果がfalseであれば、要素の中にある子要素 article と見なし、articleを取得する関数を呼び出します。
22
25
 
23
26
 
24
27
  なお、質問文に記載の法律の場合、

2

 

2022/12/21 15:10

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,27 @@
1
1
  下記のように、Article取得部分を関数に切り出して整理してはどうでしょうか。
2
2
 
3
+
4
+ 考え方としては、
5
+ ```js
6
+ const sections = chapter.getChildren("Section");
7
+ if (sections.length > 0) { // ********ここ*******
8
+ sections.forEach(function (section) {
9
+ section 内の article 取得
10
+ });
11
+ } else {
12
+ chapter 内の article取得
13
+ }
14
+ ```
15
+ のように、if と elseを使います。
16
+
17
+ 具体的に言うと if で比較しているのは、「指定した子要素の数(length)が0より大きいか否か」という点です。
18
+
19
+ 比較した結果がtrueであれば、要素の中に指定した子要素があると判断して、その子要素内の要素をスキャンします。
20
+
21
+ 比較した結果がfalseであれば、子要素の中にあるのはarticleと見なし、articleを取得する関数を呼び出します。
22
+
23
+
3
- 質問に記載の法律の場合、
24
+ なお、質問に記載の法律の場合、
4
25
  MainProvision→Chapter→Section→Article、
5
26
  MainProvision→Chapter→Article
6
27
  だけではなく

1

 

2022/12/21 14:57

投稿

退会済みユーザー
test CHANGED
@@ -12,7 +12,7 @@
12
12
  var recordrow = lastrow + 1;
13
13
 
14
14
 
15
- function retrieveArticles() {
15
+ function main() {
16
16
 
17
17
  let url = 'https://elaws.e-gov.go.jp/api/1/lawdata/昭和二十五年政令第三百三十八号';
18
18
  let xml = UrlFetchApp.fetch(url).getContentText();