book.xml
<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book>
</catalog>

xml은 이렇게 있습니다.

 

조건 : bk103이 있는지 체크하는것.

 

기존에는

<%
SET xmlObj = Server.CreateObject("MSXML2.DOMDocument")
xmlObj.Load("book.xml")
SET xmlRoot = xmlObj.DocumentElement
FOR i = 0 TO xmlRoot.ChildNodesLengh - 1
    IF xmlRoot.ChildNodes.item(i).getAttribute("id") = "bk103" THEN
        IsChk = True
    ELSE
        IsChk = False
    END IF
NEXT
SET xmlRoot = Nothing
SET xmlObj = Nothing 

IF IsChk = True THEN
  Response.write "bk103이 있습니다."
ELSE
  Response.Write "bk103이 없습니다."
END IF
%>

이렇게 해줬습니다..FOR문으로 계속 돌면서 체크를 했죠..(제가 몰라서 그런걸수도 있습니다만..ㅎㅎ);

 

XPATH를 이용해서 간단히 해결하면 됩니다.

<%
SET xmlObj = Server.CreateObject("MSXML2.DOMDocument")
xmlObj.Load("book.xml")
SET xmlPath = xmlObj.selectNodes("//book[@id='bk103']")
IF xmlPath.length = 0 THEN
  IsChk = False
ELSE
  IsChk = True
END IF
SET xmlPath = Nothing
SET xmlObj = Nothing
 
IF IsChk = True THEN
  Response.write "bk103이 있습니다."
ELSE
  Response.Write "bk103이 없습니다."
END IF
%>

taeyo.net 에 올린글입니다만...그냥 여기에도 올려도 되겠죠??ㅎㅎ

 

제가 멍청해서 그런지 몰라도..꽤 힘들게 알아낸거라서.ㅎㅎ

 

혹시나 도움될까 해서 올려봅니다~ㅎ