matuakiです。
このサービスが出しているXMLをFILTERXML関数が理解できていないみたいです。
=WEBSERVICE("http://www.finds.jp/ws/geocode.php?mcode=27127")
で取得したXMLで
<geocode xmlns="http://finds.jp/ts"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
の部分を
<geocode>
に変更するとFILTERXML関数は値を読み込みました。
(式は=FILTERXML(A1,"//geocode/result/latitude")に変えましたが)
この現象が、XMLを出している側の問題かCalcの関数の方に問題があるのか、わ
たしはよく分かりません。
参考までに。
(2014年06月20日 19:10), Jun NOGATA wrote:
> こんにちは。野方です。
>
> LibreOffice 4.2から入ったCalcのWEBSERVICE関数を使って、Web APIにアクセ
> スして、返ってきたXMLからFILTERXML関数を使って値を取り出そうとしていま
> すが、うまく取り出すことができません。
>
> 使っているWeb APIは、こちらです。
>
> - 簡易ジオコーディングサービス / Finds.jp Webサービス: http://www.finds.jp/wsdocs/geocode/
>
> 市町村コードを指定してアクセスすると緯度経度がXMLで返ってきます。
> 大阪市北区(27127)なら、こんな感じでアクセスすると緯度経度が返ってきます。
>
> - http://www.finds.jp/ws/geocode.php?mcode=27127
>
> 試しにA1セルとA2セルに
>
> A1セル =WEBSERVICE("http://www.finds.jp/ws/geocode.php?mcode=27127")
> A2セル =FILTERXML(A1,"//latitude")
>
> と書いて試しましたが、#VALUEエラーになってしまいます。
>
> XPathをあまり理解していないので書き方が悪いのかと思い、Livedoorのお天気
> RSSを使って試したところ
>
> - http://weather.livedoor.com/forecast/rss/area/270000.xml
>
> A1セル =WEBSERVICE("http://weather.livedoor.com/forecast/rss/area/270000.xml")
> A2セル =FILTERXML(A1,"//item[3]/title")
>
> こちらは、うまくtitle要素の値を取り出すことができました。
>
> ちょっと、よくわからなくなってきたのですが、FILTERXMLのXpathをどういう
> 風な書き方をすると値を取り出すことができるのでしょうか。
> 「これを見ろー」でもいいので、なにか情報ありましたら教えてください。
>
--
-------------------------------------------------
matuaki
matuaki_at_ma-office.org
http://openoffice.sblo.jp/
--
Unsubscribe instructions: E-mail to [email protected]
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/users/
All messages sent to this list will be publicly archived and cannot be deleted