IMPORTXML-スプレッドシート関数 のエラー対策(インポートされたコンテンツは空です)
スプレッドシートでYahoo!APIからもらってきたXMLデータを拾おうとしていたところ
根本的な部分で詰まっていたので備忘録を書き留めておきます。
IMPORTXMLはXML構造のデータからタグに格納された部分を引っ張ってこれる便利な関数です。
しかしこれ、癖が強い関数だったりして、お手上げ状態でした。
以下、エラー:インポートしたコンテンツは空です の発生の原因となっていたものです。
・指定するXpathクエリの大文字小文字の厳密な区別
・XML出力時に付与されるネームスペース( xmlnsの記述)
Xpathの記述は大文字小文字をしっかり区別しましょう。
そして、ここが最も時間がかかった部分なんですが、XMLのネームスペースに関する記述
<ResultSet xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”urn:yahoo:jp:auc:mySellingList” xsi:schemaLocation=”urn:yahoo:jp:auc:mySellingList http://auctions.yahooapis.jp/AuctionWebService/V2/mySellingList.xsd” totalResultsAvailable=”1″ totalResultsReturned=”1″ firstResultPosition=”1″>
この部分、これをコメントアウト(<!--~-->)し、
ネームスペース記述のない<ResulteSet>タグを新たに追加することで
IMPORTXMLで上記エラーは出なくなりました。
エラー対策につかれたので簡単にまとめました。。。
もしお困りの方はお試しあれ。