質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

2回答

461閲覧

TypescriptでRSSのフィード取得の際にlinkタグの中身がとれない

poppoas

総合スコア12

RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2020/02/26 07:07

編集2020/02/26 07:14

前提・実現したいこと

RSSのフィードから情報を取得して、取得した記事のURLに飛べるようなコンポーネント作成
(Typescriptで作成)

発生している問題・エラーメッセージ

RSSのフィードから情報(ニュースなど)を取得して、タイトル、記事発行時間、記事のリンク、記事の内容にわけて扱おうとしています。
しかしながら、linkタグのtextContentで取得できると思ってやっておりますが、何故かlinkの中身が空になってしまいます。
linkタグを指定する前の段階で確認したところ、<link>とリンクのURLが別々に格納されていました。
<イメージ>※実際は配列ではないのでdata[1]をとればよいわけではない
data[0] = "<link>"
data[1] = "記事のURL"

イメージの感じでlinkタグと中身のURLが別になってしまっている感じです。
同じような問題で解決された方はいらっしゃいませんか?

title: "「感染者集団」対応に移行 一般病院で患者診療も―新型コロナ基本方針・政府 - 時事通信ニュース" link: ""

該当のソースコード

typescript

1 var rss_data = domParser.parseFromString(xhr.response, "text/html"); 2 var items = rss_data.getElementsByTagName('item'); 3 4 var link = items[0].getElementsByTagName('link').textContext; 5

試したこと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

色々試したところ自己解決しました。

var link = items[0].getElementsByTagName('link').textContent;
のところを
var link = items[0].getElementsByTagName('link')[0].nextSibling.textContent;

としたところ記事のURLが取得できました。
おそらくlinkタグのさらに子ノードのところに格納されていたのだと思います。

投稿2020/02/26 08:53

poppoas

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

色々試したところ自己解決しました。

var link = items[0].getElementsByTagName('link').textContent;
のところを
var link = items[0].getElementsByTagName('link')[0].nextSibling.textContent;

としたところ記事のURLが取得できました。
なぜこんなところにはいっていたのかはわかりませんが、一応の解決策として残しておきます。

投稿2020/02/26 08:47

poppoas

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問