Just nu i M3-nätverket
Gå till innehåll

Nästlad XML


donRollo

Rekommendera Poster

Jag har ett XMl problem.

Jag skapar XML-sidor via ASP, typ

 

strBok = rs("bok")

 

Set objNodeB = objXML.createNode("element", "bok", "")

objNodeB.setAttribute "bokID", intBokID

objNodeB.Text = strBok

objNodeA.appendChild (objNodeB)

 

Ja, ni fattar säkert.

 

Problem är om noden <bok> ser ut enligt:

 

<bok>Denna bok har skrivits av <forfattare>NN</forfattare> och är utgiven på förlag <bokForlag>GG</bokForlag> 2003</bok>

 

Då helt plötsligt innehåller ju noden <bok> andra noder.

Är detta överhuvudtaget möjligt att åstadkomma när man automatgenererar XML via ASP?

Tacksam för hjälp.

 

/donRollo

 

Länk till kommentar
Dela på andra webbplatser

Skall inte vara några problem. Använd createNode för att skapa en ny nod. Sedan gör du bara

objNodeB.appendChild (objNyNod)

 

Då hamnar den som child till din boknod.

 

/Jocke

 

Länk till kommentar
Dela på andra webbplatser

Hej Jocke!

 

Jag är kanske en smula trög, men jag fattar inte riktigt.

 

Jag bifogar lite kod, pilla gärna runt lite och visa hur man kan få in taggarna <forfattare> och <bokForlag>

 

KODEXEMPEL

 

<%@ EnableSessionState = False%>

<% response.buffer = true

 

dim strBok

strBok = "Denna bok har skrivits av NN och är utgiven på förlag GG 2003"

 

dim theEncoding

 

set objXML = Server.CreateObject("Microsoft.XMLDOM")

 

if (objXML.childNodes.length = 0) Then

 

set theEncoding = objXML.createProcessingInstruction("xml"," version='1.0' encoding='ISO-8859-1'")

objXML.appendChild(theEncoding)

 

' create root node

Set objRoot = objXML.CreateNode("element", "bocker", "")

objXML.appendChild (objRoot)

 

Set objNode1 = objXML.createNode("element", "bok", "")

objNode1.Text = strBok

objRoot.appendChild (objNode1)

 

end if

 

objXML.save "f:\pdf\rolloTest\rolloTest3.xml"

%>

 

DETTA SKAPAR XML-FILEN

 

<?xml version="1.0" encoding="ISO-8859-1" ?>

- <bocker>

<bok>Denna bok har skrivits av NN och är utgiven på förlag GG 2003</bok>

</bocker>

 

Hehe!

 

/donRollo

 

 

[inlägget ändrat 2003-03-07 14:51:24 av donRollo]

Länk till kommentar
Dela på andra webbplatser

Lägg koden nedan före raden

objRoot.appendChild (objNode1)

 

Set objForf = objXML.createNode("element", "Forfattare", "")

objForf.Text="Detta är författaren"
objNode1.appendChild (objForf)

 

Det borde funka, sen får du göra likadant med förlaget.

 

/Jocke

[inlägget ändrat 2003-03-07 16:31:57 av jockesoft]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...