Avatar billede sbi Nybegynder
07. februar 2002 - 08:42 Der er 10 kommentarer og
1 løsning

Loade flere xml filer

Jeg loader en XML fil som jeg derefter søger i, med nedenstående kode:

Set objXMLDom = Server.CreateObject("Microsoft.XMLDOM")
objXMLDom.async = False
objXMLDom.load(Server.MapPath("Content.xml"))

Så spørger jeg på indholdet med:

objXMLDom.SelectSingleNode("Customer/T_Page[Page_id='"&Pagepicked&"']")

MEN, jeg vil gerne kunne 'søge' i flere XML filer, kan det lade sig gøre????
Avatar billede jmc Nybegynder
07. februar 2002 - 08:48 #1
jeg lytter da jeg tidligere har haft samme problem
Avatar billede Slettet bruger
07. februar 2002 - 09:35 #2
Her er lidt pseudo-kode, der viser hvad der skal gøres:

1. Lav et "mother" dokument, f.eks.:
  objXML.loadXML("<allefiler/>")

2. Load de forskellige filer i hver sit XML objekt

3. Tilføj rod-elementet fra hver af disse til roden i "mother"-dok., så du har:

<allefiler>
  <file1 />
  <file2 />
</allefiler>

4. Udfør søgningen...

/CS
Avatar billede sbi Nybegynder
07. februar 2002 - 09:38 #3
Det kan godt være at det er mig der er tungnem, men kan du pensle det lidt mere ud... Jeg er ikke med...
Avatar billede Slettet bruger
07. februar 2002 - 09:54 #4
Joda - klart :-) - princippet er noget i denne stil:

Set objXMLDom = Server.CreateObject("Microsoft.XMLDOM")

Set tmpXML1 = Server.CreateObject("Microsoft.XMLDOM")
Set tmpXML2 = Server.CreateObject("Microsoft.XMLDOM")

objXMLDom.async = False
tmpXML1.async = False
tmpXML2.async = False

objXMLDom.loadXML("<allefiler/>")

tmpXML1.load("Content1.xml")
tmpXML2.load("Content2.xml")

Set nodeFile1 = objXMLDom.createElement("file1")
Set nodeFile2 = objXMLDom.createElement("file2")

nodeFile1.appendChild(tmpXML1.documentElement)
nodeFile2.appendChild(tmpXML2.documentElement)

objXMLDom.documentElement.appendChild(nodeFile1)
objXMLDom.documentElement.appendChild(nodeFile2)

- herefter skulle "objXMLDom" være klar til søgning...

/CS
Avatar billede sbi Nybegynder
07. februar 2002 - 10:02 #5
Hvad er <allefiler/>?
Avatar billede Slettet bruger
07. februar 2002 - 10:05 #6
Det er et tomt XML tag.
Det bruges bare til at definere det XML dokument, der skal indeholde de andre. Det er bare nemmere at load'e XML koden direkte, end at skulle lave det med "createElement()".

/CS
Avatar billede sbi Nybegynder
07. februar 2002 - 11:50 #7
Så passer denne query vel ikke længere???

objXMLDom.SelectSingleNode("Customer/dbo.T_Page[Page_id='"&Pagepicked&"']")
Avatar billede sbi Nybegynder
07. februar 2002 - 13:10 #8
Har selv fundet ud af det.

Tak til Greystate, dejligt når folk ved hvad de taler om! Du har fuld ud fortjent de 100 point (For den pædagogiske indsats :-))
Avatar billede Slettet bruger
07. februar 2002 - 14:08 #9
Der takkes, og bukkes, og skrabes.... :-)

/CS
Avatar billede sbi Nybegynder
03. juli 2002 - 09:19 #10
Hej CS
Er du stadig på linien???
Jeg har oplevet et problem med denne løsning, som jeg ikke rigtig kan gennemskue...
Når jeg flytter hele setuppet til en anden maskine kan jeg ikke få det til at virke. Den stopper på den linie hvor den skal appendchild og kommer med følgende fejl "Invalid procedure call or argument: 'appendChild'".

Da Hele siten er den samme må det være en opsætning eller lign. der ikke er ok. Nogle ideer???

/SBI
Avatar billede Slettet bruger
03. juli 2002 - 11:12 #11
Har påbegyndt svar ovre i http://www.eksperten.dk/spm/231809/

/CS
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester