Microsoft XMLDOM 서버 객체를 이용하여 XML 을 로드하여 SELECT 박스 OPTION을 채운다.
서버에 따라서, 서버객체를 Microsoft.XMLDOM 또는 msxml2.domDocument 로 바꾸어 사용한다.

객체 생성이 실패하는 경우 해당 객체 생성을 위한 라이브러리가 설치되어 있는지 확인 필요.

 

<%
 Dim objXML 'the XML object
 Dim objItemList 'to hold a list of xml elements
 Dim objItem 'used to indicate the current item in the xml list

 'create an instance of the Microsoft XML DOM
 'Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 Set objXML = Server.CreateObject("msxml2.domDocument")

 'configure the Microsoft XML DOM instance
 objXML.async = False
 objXML.setProperty "ServerHTTPRequest", True
 
 'response.write(request("types"))
%>
    <select name="types" onchange="form_insert.submit();">
     <option value="">[평가항목 선택]</option>
<%
 'load out XML feed into the XML DOM instance
 objXML.Load(server.MapPath("EvalAchievementsFaculty_tap2_types.xml"))

 Set objItemList= objXML.getElementsByTagName("type")
 For Each tp in objItemList
%>
     <option value="<%=tp.Text%>"<%=isSelected(tp.Text, request("types"))%>><%=tp.Text%></option>
<%
 Next
%>
    </select><br/>
    <select name="kinds">
     <option value="">[평가기준(배점) 선택]</option>
<%
 'load out XML feed into the XML DOM instance
 objXML.Load(server.MapPath("EvalAchievementsFaculty_tap2_kinds.xml"))

 Set objItemList= objXML.getElementsByTagName("item")
 For Each objItem in objItemList
  if objItem.childNodes(0).text = request("types") then
%>
     <option value="<%=objItem.childNodes(1).text%>"><%=objItem.childNodes(1).text%>(<%=objItem.childNodes(2).text%>)</option>
<%
  end if
 Next
%>
    </select>
<%
 'now we check for parser errors and report any.
 If objXML.parseError.errorCode <> 0 Then
  Response.Write "<pre>" & vbCrLf
  Response.Write "<strong>Error:</strong> " & objXML.parseError.reason
  Response.Write "<strong>Line:</strong> " & objXML.parseError.line & vbCrLf
  Response.Write "<strong>Text:</strong> " & Server.HTMLEncode(objXML.parseError.srcText) & vbCrLf
  Response.Write "</pre>" & vbCrLf
 End If

 'now we loop through the XML documents 'TAB' elements
 'Set objItemList = objXML.getElementsByTagName("item")
 
 'For Each objItem In objItemList
 ' response.write("<b>type:</b> " & objItem.childNodes(0).text & "<br>")
 ' response.write("<b>kind:</b> " & objItem.childNodes(1).text & "<br>")
 ' response.write("<b>score:</b> " & objItem.childNodes(2).text & "<br>")
 ' response.write("<hr>")
 'next

 'close the XML DOM instance
 Set objXML = Nothing

 'clear the object list
 Set objItemList = Nothing
%>

,