Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Tenho um arquivo super extenso em xml e preciso utiliza-lo como banco de dados para pesquisa.
Já tentei de várias formas fazer a conexão. O problema é quando entra o ADO e o Recordset. A coisa parou de vez.
Alguém sabe como fazer, to começando agora e não faço nem ideia de como continuar...
To colocando abaixo uma parte do xml pra vcs terem uma ideia de como o treco é complicado, e depois como eu tava tentando fazer e até agora nada...
Parte do xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<cid10 versao="V2007">
<capitulo numcap="1" codcap="A00-B99" romano="I" inicial="A00" final="B99">
<nome>Algumas doenças infecciosas e parasitárias</nome>
<subtitulo>I. Algumas doenças infecciosas e parasitárias</subtitulo>
<grupo codgrupo="A00-A09" inicial="A00" final="A09">
<nome>Doenças infecciosas intestinais</nome>
<subtitulo>Doenças infecciosas intestinais</subtitulo>
<categoria codcat="A00">
<nome>Cólera</nome>
<subtitulo>A00 Colera</subtitulo>
<subcategoria codsubcat="A000">
<nome>Cólera devida a Vibrio cholerae 01, biótipo cholerae</nome>
<subtitulo>A00.0 Colera dev Vibrio cholerae 01 biot cholerae</subtitulo>
</subcategoria>
<subcategoria codsubcat="A001">
<nome>Cólera devida a Vibrio cholerae 01, biótipo El Tor</nome>
<subtitulo>A00.1 Colera dev Vibrio cholerae 01 biot El Tor</subtitulo>
</subcategoria>
<subcategoria codsubcat="A009">
<nome>Cólera não especificada</nome>
<subtitulo>A00.9 Colera NE</subtitulo>
</subcategoria>
</categoria>
[b].... E por aí vai, são 61006 linhas[/b]
Como eu estava tentando fazer:
<%
set xmldoc=server.createobject("MSXML2.DOMDocument.3.0")
xmldoc.load(server.mappath("CID10.xml"))
set rs=server.createobject("adodb.recordset")
rs.open(server.mappath("CID10.xml"))
do until rs.eof
Response.Write "<b>Campo1</b> = " & rs("nome") & "<br>" & _
"<b>Campo2</b> = " & rs("nome50") & "<br>" & _
"<b>Campo3</b> = " & rs("subtitulo")& "<p>"rs.Close
set rs=nothing
%>
Fico no aguardo, quem puder me ajudar agradeço demais.... To com muita pressa mesmo de terminar isso.
Obrigado pela atenção Ted k', mas esse script que você passou não faz a coexão com o xml, ele cria e visualiza o que foi criado. Também não estou trabalhando com xsl, tenho um arquivo em DTD que até agora não me ajudou em nada, por isso o descartei.
O que eu preciso é de uma dica de como fazer algo do tipo:
server.createobject(CONEXÃO COM O XML)
server.createobject(RECORDSET DO XML)
... depois da conexão,
"SELECT * FROM ARQUIVO XML WHERE CAMPO PESQUISADO LIKE '%"&STRING DE PESQUISA&"%' "
CAMPO PESQUISADO NO XML = rs("CAMPO PESQUISADO")
Até agora não obtive resultados, porque me retorna o erro
ADODB.Recordset error '800a0e7d'
The connection cannot be used to perform this operation. It is either closed or invalid in this context.
/conex/arearestrita/cid10/testOSP.asp, line 6
e o código é:
1 <%
2
3 set xmldoc=server.createobject("MSXML2.DOMDocument.3.0")
4 xmldoc.load(server.mappath("CID10.xml"))
5 set rs=server.createobject("adodb.recordset")
6 rs.open(server.mappath("CID10.xml"))
se alguém souber como fazer agradeço qq colaboração.
Esse script pode te ajudar:
http://forum.imasters.com.br/index.php?showtopic=230209