質問編集履歴

1

コードの更新

2017/11/04 09:08

投稿

agepan
agepan

スコア66

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,125 @@
129
129
  }
130
130
 
131
131
  ```
132
+
133
+ ■追記:コンソールで日付を取得できましたが、変数「data」が読み出せません。
134
+
135
+ ```JavaScript
136
+
137
+ function searchRSS(){
138
+
139
+
140
+
141
+ var rssUrl = 'https://av.watch.impress.co.jp/sublink/av.rdf';
142
+
143
+
144
+
145
+ $(function(){
146
+
147
+ $.ajax({
148
+
149
+ url: rssUrl,
150
+
151
+ type: 'GET',
152
+
153
+ cache: false,
154
+
155
+ dataType: 'xml',
156
+
157
+ timeout: 5000,
158
+
159
+ success: function(res, status) {
160
+
161
+ if (status === 'success') {
162
+
163
+
164
+
165
+ // responseText から取得して、xml 形式に変換する必要があり
166
+
167
+ var xmlText = res["responseText"];
168
+
169
+ var xml = $.parseXML(xmlText);
170
+
171
+
172
+
173
+ var row = 0;
174
+
175
+ var data = [];
176
+
177
+ var nodeName;
178
+
179
+
180
+
181
+ $(xml).find('item').each(function() {
182
+
183
+ data[row] = {};
184
+
185
+ $(this).children().each(function() { // 子要素を取得
186
+
187
+ nodeName = $(this)[0].nodeName; // 要素名
188
+
189
+ data[row][nodeName] = {}; // 初期化
190
+
191
+ attributes = $(this)[0].attributes; // 属性を取得
192
+
193
+
194
+
195
+
196
+
197
+ /*
198
+
199
+ $(xml).find("item").each(function() {
200
+
201
+ var title = $("title", this).text();
202
+
203
+ var date = new Date($("dc\:date", this).text());
204
+
205
+ console.log(date);
206
+
207
+ });
208
+
209
+ */
210
+
211
+
212
+
213
+ for (var i in attributes) {
214
+
215
+ data[row][nodeName][attributes[i].name] = attributes[i].value; // 属性名 = 値
216
+
217
+ }
218
+
219
+ });
220
+
221
+ row++;
222
+
223
+ });
224
+
225
+
226
+
227
+ console.log(data);
228
+
229
+
230
+
231
+ for (i in data) {
232
+
233
+ $('#article').append(
234
+
235
+ '<p>' + data[i].title.text + '</p>' +
236
+
237
+ '<p>' + date + '</p>'); // ←変数「date」を読み出せない
238
+
239
+ }
240
+
241
+
242
+
243
+ }
244
+
245
+ }
246
+
247
+ });
248
+
249
+ });
250
+
251
+ }
252
+
253
+ ```