• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2005でXMLデータの要素があるかどうかの判定について)

VB2005でXMLデータの要素があるかどうかの判定について

このQ&Aのポイント
  • VB2005でXMLデータの要素が存在するかどうかを判定する方法について教えてください。
  • XMLデータをMSXMLでパーサーにかけて全項目を抽出していますが、要素が省略される場合にエラーが発生してしまいます。指定したパスの要素の有無を判定する方法はありますか?
  • 項目を抽出する方法としては、selectsingleNodeメソッドを使用していますが、省略される可能性がある場合は別の方法を使用する必要があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

項目があるかどうかを調べるメソッドは 用意されていないようですのですので selectSingleNodeでオブジェクト(IXMLDOMNode)が返されるかどうかで判断するしかないようです if msxmlDoc.selectSingleNode(/Mml/conntent/Module/Class/Code") isnot nothing then Item = msxmlDoc.selectSingleNode(/Mml/conntent/Module/Clas/Code").Text end if といった具合か もしくはオプション項目の親まで取得して dim oList as MSXML2.IXMLNodeList = _   msxmlDoc.selectSingleNode("/Mml/content/Module/Class") if oList.HasChaile() then   dim xmlNode as MSXML2.IXMLDOMNode, n as integer   for n = 0 to oList.Length - 1     xmlNode = oList(n)     if xmlNode.HasChiledNode() then      if xmlNode.SelectSingleNode("Code") is not nothing then       item = xmlNode.SelectSingleNode("Code").text      end if     end if   next end if といった具合でしょう …

noname#51596
質問者

お礼

redfox63様、毎回、回答ありがとうございます! isnot nothing という判定の仕方を初めて知りました。 教えていただいた方法で、項目があるか判定できました。 本当にありがとうございました!!