[XPath] Doodnormale selectie werkt alleen met node()

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb een doodnormaal xml document:
XML:
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <div id="1">...</div>
   <div id="1">...</div>
</html>


Dat dit toevallig xhtml lijkt, mag niet boeien. Het is well-formed en hij leest em gewoon in. Tot zover gaat alles goed. Dus kom alsjeblieft niet met dat <div> geen child van <html> mag zijn, want dat is het probleem (nu) niet!

Maargoed, vervolgens wil ik met XPath (1.0) een selectie op het document. Dat doe ik met MSXML 3.0 en VBScript:
ASP:
1
2
oXml.setProperty "SelectionLanguage", "XPath"
oXml.selectNodes("/html/div")

SelectionLanguage moet gezet worden om te zorgen dat de axis "descendant" werkt, die zometeen nodig ga hebben. Maar hij doet het dus niet. Er komen 0 nodes uit. Zo werkt ie wel:
ASP:
1
oXml.selectNodes("/*[name()='html']/*[name()='div']")

Maar dat lijkt me een beetje omslachtig :? :?

Waarom kan ik opeens geen normale XPath queries meer gebruiken?

日本!🎌


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Probeer het eens met een:

code:
1
oXml.setProperty("SelectionNamespaces","http://www.w3.org/1999/xhtml")

Sundown Circus