しかし、XMLファイルに該当項目が読み込めない場合に「外部オブジェクトの呼び出しに失敗しました」というエラーが発生してしまいます。
例えば、商品説明(XMLではitemCaption)がもともと設定されていない(<itemCaption/>となっている)場合などです。
もし該当項目が読み込めない場合は、スキップするなり「なし」とするなりしたいのですがどうすればよいのでしょうか?
プログラムのうち、XMLに関係する部分のみ掲載します。
//楽天APIのURL(XMLで取得) url="https://app.rakuten.co.jp/services/api/BooksBook/Search/20130522?applicationId=**********&format=xml&isbn="+isbn newcom oDom,"Microsoft.XMLDOM" oDom("async")="FALSE" ; 同期読み込みを行う oDom->"load" url ; URLを指定する oRoot = oDom("documentElement") if varuse(oRoot)=0 : dialog "エラー1:取得に失敗しました。" :goto *home comres elm_kazu:oDom->"getElementsByTagName" "hits" node = elm_kazu("item",0):node2 = node("firstChild"):kazu = node2("nodeValue") if kazu="0":goto *nashi comres elm_dai:oDom->"getElementsByTagName" "title" comres elm_daikana:oDom->"getElementsByTagName" "titleKana" comres elm_subdai:oDom->"getElementsByTagName" "subtitle" comres elm_subdaikana:oDom->"getElementsByTagName" "subtitleKana" comres elm_img:oDom->"getElementsByTagName" "largeImageUrl" comres elm_author:oDom->"getElementsByTagName" "author" comres elm_authorkana:oDom->"getElementsByTagName" "authorKana" comres elm_price:oDom->"getElementsByTagName" "itemPrice" comres elm_detail:oDom->"getElementsByTagName" "itemCaption" //dai=タイトル・daikana=タイトルカナ・img=画像URL・author=著者・authorkana=著者カナ・teika=税抜定価・hangaku=販売価格に代入 node = elm_dai("item",0):node2 = node("firstChild"):dai = node2("nodeValue"):mes "タイトル:"+dai node = elm_daikana("item",0):node2 = node("firstChild"):daikana = node2("nodeValue"):mes "タイトル:"+daikana node = elm_subdai("item",0):node2 = node("firstChild"):subdai = node2("nodeValue"):mes "サブタイトル:"+subdai node = elm_subdaikana("item",0):node2 = node("firstChild"):subdaikana = node2("nodeValue"):mes "サブタイトル:"+subdaikana node = elm_img("item",0):node2 = node("firstChild"):img = node2("nodeValue") node = elm_author("item",0):node2 = node("firstChild"):author = node2("nodeValue"):mes "著者:"+author node = elm_authorkana("item",0):node2 = node("firstChild"):authorkana = node2("nodeValue"):mes "著者:"+authorkana node = elm_detail("item",0):node2 = node("firstChild"):detail = node2("nodeValue"):mes "説明:"+detail node = elm_price("item",0):node2 = node("firstChild"):price = node2("nodeValue") kakaku = 0.0 + price:teika = kakaku /1.08 :hangaku = teika / 2 teika = strf("%4.0f", ceil(teika)) hangaku = 0+strf("%4.0f", ceil(hangaku)) hangaku = hangaku / 10 : hangaku = hangaku *10 mes "税抜定価:"+teika+"円":mes "半額価格:"+hangaku+"円"