Avatar billede stoffer Nybegynder
04. september 2002 - 22:27 Der er 6 kommentarer og
3 løsninger

Find aktiv node

jeg har lavet dette i ASP

set objNode = xmlRoot.selectSingleNode("/root//folder[@ID=" & intFolder & "]")

men den indeholder så aktiv node + alle underliggende noder.

jeg har også prøvet

set objNode = xmlRoot.selectSingleNode("/root//folder[@ID=" & intFolder & "]node()")

Det virker også, men problemet er jeg ikke får attributter med :/

hvis jeg prøver:
set objNode = xmlRoot.selectSingleNode("/root//self::folder[@ID=" & intFolder & "]")

fejler det også helt.

Hvordan får jeg den aktuelle node + alle attributter til noden?

/stoffer
Avatar billede ecoder Nybegynder
04. september 2002 - 22:45 #1
prøv med

set objNode = xmlRoot.selectSingleNode("/root//self::folder[@ID=" & intFolder & "]nodes()")
Avatar billede Slettet bruger
04. september 2002 - 22:45 #2
Hej Stoffer

Prøv med den her:

Set objNode = xmlRoot.selectSingleNode("/root//folder[@ID=" & intFolder & "]").cloneNode(False)

- har ikke lige testet det, men er 96% sikker... :-)

Dog skal du være opmærksom på at efterfølgende manipulation af objNode IKKE har effekt på originalen.

/CS
Avatar billede stoffer Nybegynder
05. september 2002 - 09:05 #3
Mange tak for svarene, jeg tester det når jeg kommer hjem.

ecoder --> kan du ikke svare også, så du også kan få nogen point hvis det er rigtigt :)
Avatar billede ecoder Nybegynder
05. september 2002 - 09:06 #4
Håber det virker.......... ;-)
Avatar billede stoffer Nybegynder
05. september 2002 - 11:50 #5
hmm ingen af dem virker, paster lige hele min asp kode:
   
    '## MAKE XML OBJECT
    Set XMLDoc = Server.CreateObject("MSXML2.DomDocument")
    XMLDoc.async = false       
    XMLDoc.loadXML(strXML)   
    '## set root object to be first element (only used if with user actions)       
    Set xmlRoot = XMLDoc.documentElement    
   

    intFolder = int(request.QueryString("FOLDER"))
   

    '## select a node tree                               
    'set objNode = xmlRoot.selectSingleNode("/root//folder[@ID=" & intFolder & "]")       
    'set objNode = xmlRoot.selectSingleNode("/root//self::folder[@ID=" & intFolder & "]nodes()")
    Set objNode = xmlRoot.selectSingleNode("/root//folder[@ID=" & intFolder & "]").cloneNode(False)
Avatar billede Slettet bruger
05. september 2002 - 11:59 #6
Din XML ser sådan ud, ikke? :

<root>
  <eet-eller-andet>
      <folder ID="2">
        ...
      </folder>
      <!-- flere folders --->
  </eet-eller-andet>
</root>

/CS
Avatar billede stoffer Nybegynder
05. september 2002 - 12:02 #7
her er min xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
    <pathinfo>/test/filebrowser.asp</pathinfo>
    <selectedfolder>1</selectedfolder>
    <selectedfile>1</selectedfile>
    <folder FULLPATH="\test" ID="1" CREATED="8/16/2002 9:50:12 AM" ACCESSED="9/5/2002 11:58:45 AM" MODIFIED="9/5/2002 11:58:45 AM" SIZE="24183">test
        <file ID="2" FULLPATH="\test\filebrowser.asp" TYPE="ASP auto file" CREATED="9/4/2002 9:43:47 AM" ACCESSED="9/5/2002 11:57:16 AM" MODIFIED="9/5/2002 11:57:16 AM" ATTRIBUTES="Archive " SIZE="13469">filebrowser.asp</file>
        <file ID="3" FULLPATH="\test\filetree.xslt" TYPE="XSLT File" CREATED="9/4/2002 9:43:56 AM" ACCESSED="9/5/2002 11:47:50 AM" MODIFIED="9/4/2002 1:19:14 PM" ATTRIBUTES="Archive " SIZE="8325">filetree.xslt</file>
        <file ID="4" FULLPATH="\test\test.xml" TYPE="XML Document" CREATED="9/5/2002 11:57:20 AM" ACCESSED="9/5/2002 11:57:20 AM" MODIFIED="9/5/2002 11:57:20 AM" ATTRIBUTES="Archive " SIZE="2380">test.xml</file>
        <file ID="5" FULLPATH="\test\æøå.txt" TYPE="Text Document" CREATED="9/5/2002 11:58:42 AM" ACCESSED="9/5/2002 11:58:52 AM" MODIFIED="9/5/2002 11:58:52 AM" ATTRIBUTES="Archive " SIZE="9">æøå.txt</file>
        <folder ID="2" FULLPATH="\test\leve1a" CREATED="9/5/2002 11:55:02 AM" ACCESSED="9/5/2002 11:55:32 AM" MODIFIED="9/5/2002 11:55:32 AM" SIZE="0">leve1a
            <folder ID="3" FULLPATH="\test\leve1a\level2a" CREATED="9/5/2002 11:55:18 AM" ACCESSED="9/5/2002 11:55:39 AM" MODIFIED="9/5/2002 11:55:39 AM" SIZE="0">level2a
                <folder ID="4" FULLPATH="\test\leve1a\level2a\level3a" CREATED="9/5/2002 11:55:36 AM" ACCESSED="9/5/2002 11:55:36 AM" MODIFIED="9/5/2002 11:55:36 AM" SIZE="0">level3a
                </folder>
        </folder>
        <folder ID="5" FULLPATH="\test\leve1a\level2b" CREATED="9/5/2002 11:55:28 AM" ACCESSED="9/5/2002 11:56:06 AM" MODIFIED="9/5/2002 11:56:06 AM" SIZE="0">level2b
            <folder ID="6" FULLPATH="\test\leve1a\level2b\level3a" CREATED="9/5/2002 11:55:44 AM" ACCESSED="9/5/2002 11:55:59 AM" MODIFIED="9/5/2002 11:55:59 AM" SIZE="0">level3a
                <folder ID="7" FULLPATH="\test\leve1a\level2b\level3a\level4a" CREATED="9/5/2002 11:55:55 AM" ACCESSED="9/5/2002 11:55:55 AM" MODIFIED="9/5/2002 11:55:55 AM" SIZE="0">level4a
                </folder>
            </folder>
            <folder ID="8" FULLPATH="\test\leve1a\level2b\level3b" CREATED="9/5/2002 11:56:03 AM" ACCESSED="9/5/2002 11:56:03 AM" MODIFIED="9/5/2002 11:56:03 AM" SIZE="0">level3b
            </folder>
        </folder>
    </folder>
    <folder ID="9" FULLPATH="\test\level1b" CREATED="9/5/2002 11:55:11 AM" ACCESSED="9/5/2002 11:55:11 AM" MODIFIED="9/5/2002 11:55:11 AM" SIZE="0">level1b
    </folder>
</folder>
</root>
Avatar billede stoffer Nybegynder
05. september 2002 - 12:02 #8
copy paste til notepad for rigtig formatering
Avatar billede stoffer Nybegynder
05. september 2002 - 15:08 #9
hej jeg har fundet ud af det, jeg tog ganske simpelt og flyttede navnet i nd i folderelementet som en attribut, så fik jeg kun disse ud.
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