Toon posts:

[xml] msxml parser 4.0

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

iemand enig idee hoe de microsoft xml parser 4.0 vanuit een website aangeroepen kan worden?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik gok dat de eerste vraag die bij iedereen opkomt is:
"Wat voor website?"
Dan, "Wat voor software is die gemaakt?" en van dat soort vragen...

Verwijderd

Topicstarter
Ik heb een xml pagina, met een xslt pagina daaraan gelinkt.

Onder win kan msxml 4.0 kan alleen naast msxml 2.0 geinstalleerd worden. msxml 2.0 blijft daarna de standaard parser.

Mijn vraag is nu hoe kan ik vanuit de xslt pagina msxml parser 4.0 aanroepen. Dit zou kunnen door in vbscript een activeX object aan te roepen. Het zou iets van 4 regels code moeten zijn.

Verwijderd

Heb je het over client of serverside?

Verwijderd

Topicstarter
Client side, but I've GOT it already :)

[vbscript]
dim xslDoc, xmlDoc

Sub Init()
set xslDoc = CreateObject("MSXML2.DOMDocument.3.0")
set xmlDoc = CreateObject("MSXML2.DOMDocument.3.0")
xslDoc.Async = False
xmlDoc.Async = False
xslDoc.Load "xsldoc.xsl"
xmlDoc.Load "xmldoc.xml"
page.innerHTML = xmlDoc.transformNode(xslDoc)
End Sub
[/vbscript]

Verwijderd

Dat script roept dus de v3.0 DOM Document interface aan, en daar heb je v4.0 niet voor nodig.

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
<%
Response.ContentType = "text/xml"
Dim objXMLDom

Set objXMLDom = Server.CreateObject("Microsoft.XMLDom")
objXMLDom.preserveWhiteSpace = True

Dim pi
Set pi = objXMLDom.createProcessingInstruction("xml", "version=""1.0""")
objXMLDom.insertBefore pi, objXMLDom.childNodes.Item(0)

Dim objXMLroot
Set objXMLroot = objXMLDom.createNode(1, "Main", "")
objXMLDom.appendChild (objXMLroot)


Dim objXMLchild
Set objXMLchild = objXMLDom.createNode(1, "Child", "")
objXMLroot.appendChild (objXMLchild)

Dim objXMLage
Set objXMLage = objXMLDom.createNode(1, "age", "")
objXMLchild.appendChild (objXMLage)

Dim objXMLname
Set objXMLname = objXMLDom.createNode(1, "name", "")
objXMLchild.appendChild (objXMLname)


Dim MyNewNode
for x = 0 to 1000
set MyNewNode = objXMLchild.cloneNode(true)
MyNewNode.childNodes.item(0).text = x
MyNewNode.childNodes.item(1).text = x * 2
objXMLroot.appendChild(MyNewNode)
next



response.write(objXMLDom.xml)

Set MyNewNode = Nothing
Set objXMLroot = Nothing
Set objXMLDom = Nothing
Set pi = Nothing

%>

Zoiets?

Verwijderd

Topicstarter
Nee, het is de bedoeling dat alles client side gebeurt. geen asp dus, maar vbscript
Pagina: 1