2017-03-28 2 views
0

オンラインで見つかったXMLファイル(バスルートとバス停に関する情報を提供)を使用して、Googleシート/フュージョンテーブルで「データベース」を作成しようとしています。 Javascriptプログラムバス停留所は、stop_idによって識別され、ルートはルートタグによって識別されます。これら2つをデータベースに接続したいので、stop_idを指定すると、停止しているルートのルートタグを知ることができます。各ストップには、stop_idと緯度/経度の情報が含まれています。ルートには、ストップのリスト(stop_id)が含まれています。このデータベースを作成するには、経路タグを列頭に、停止IDのリストを対応するセルに埋め込むGoogleスプレッドシートが必要です。合計で30のルートがあります。ルートタグのリストはhttp://webservices.nextbus.com/service/publicXMLFeed?command=routeList&a=chapel-hillにあり、ルートAのルート情報(たとえば)はhttp://webservices.nextbus.com/service/publicXMLFeed?command=routeConfig&a=chapel-hill&r=Aにあります。 Googleシートでimportxml( "routesURL"、 "/ body/route // stop [stopId]")コマンドを使用しようとしましたが、解析エラーが返されるか、そうしたときに「インポートされたコンテンツが空です。私の目標を繰り返し述べるために、特定のstop_idについてルートタグの内容を知りたいと思います。任意のヒント?私の戦略はすべて間違っていますか?どうもありがとうございました!XMLデータをGoogleスプレッドシートに貼る

答えて

0

これは典型的なxmlではありません。つまり、開始タグと終了タグ内に実際の値はありません。あなたの最初のファイルの場合には、抽出する一切の値がありません、

=importxml("https://www.w3schools.com/xml/note.xml", "*") 

しかし:Thisimportxmlちょうど試してみてくださいToveJaniReminderなどを抽出することができ、そこから一般的なXMLファイルです。

私は検索したところ、they also provide JSON formatを見つけました。ただ、このようなURLでJSONXMLを置き換える:

http://webservices.nextbus.com/service/publicJSONFeed?command=routeConfig&a=chapel-hill&r=A 

GSは、JSONのためのビルトイン機能を提供していませんが、あなたはimport JSON via GASをすることができます。

+1

私は、あなたが= importxml(http://webservices.nextbus.com/service/publicXMLFeed?command=routeConfig&a=chapel-hill&r=A、 "// stop/@ stopId")を使用して実際に動作することを知りました。シートセル。これは、Aルートに沿った各停留所のID番号を取得します(他のルートの場合は簡単に複製できます)。しかし、入力をありがとう! –

+0

おっと、良い点!私が言ったことはあなたの最初のxmlファイルにのみ適用されます。 'importxml'で2番目のファイルの' attribute'を確実に抽出することができます。 –

関連する問題