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
%>