- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2005でXMLデータの要素があるかどうかの判定について)
VB2005でXMLデータの要素があるかどうかの判定について
このQ&Aのポイント
- VB2005でXMLデータの要素が存在するかどうかを判定する方法について教えてください。
- XMLデータをMSXMLでパーサーにかけて全項目を抽出していますが、要素が省略される場合にエラーが発生してしまいます。指定したパスの要素の有無を判定する方法はありますか?
- 項目を抽出する方法としては、selectsingleNodeメソッドを使用していますが、省略される可能性がある場合は別の方法を使用する必要があるのでしょうか?
- みんなの回答 (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 といった具合でしょう …
お礼
redfox63様、毎回、回答ありがとうございます! isnot nothing という判定の仕方を初めて知りました。 教えていただいた方法で、項目があるか判定できました。 本当にありがとうございました!!