webForumDet fria alternativet

Skriv ut xml

ASP

5 svar · 455 visningar · startad av Quazzo

Medlem sedan juli 2001324 inlägg
Frågan#1

Hej!
Jag har följande xml-fil och vill på ett enkelt sätt skriva ut options1 med hjälp av ASP och undrar då hur jag gör?

<?xml version="1.0" encoding="utf-8"?>

<Root> 
<question>

<Options id=0>fråga1
</Options> 

 <Options id=1>alternativ2
</Options> 

 <Options id=2>alternativ3
</Options> 

<Options id=3>alternativ4
</Options> 

</question>
</Root>

Mitt förslag är följande, men det vill sig inte riktigt:

set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.load Server.MapPath("minfil.xml")
Set nodeList = objXML.documentElement.childNodes
 
response.write nodelist.item(2).xml

response.write "<br>"

/red. Adderade [kod]-taggar. //OveRRidE

Medlem sedan feb. 200112 078 inlägg
#2

Vad är det som inte vill sig? Felmeddelande? Vidare, index 2 i nodelistan, som du hänvisar till i din utskrift; borde inte det vara 1 ifall du vill ha options 1 som du skrev? Jag gissar på att den samlingen börjar på 0.

Medlem sedan juni 200032 967 inlägg
#3

Menar du att du vill skriva ut alla options?

Set nodeList = objXML.getElementsByTagName("Options")
for each obj in nodeList 
	Response.Write obj.text & "<br>"
next

Eller bara den option som har id 1?

set objNode = objXML.selectSingleNode("//Options[@id='1']")
Response.write objNode.text

Koden är väldigt otestad, skall tilläggas...

mvh

Medlem sedan juli 2001324 inlägg
#4

Anders:Precis så här jag vill ha det, men nu klagar den på:

Object required: 'objNode'
line 22

line22= Response.write objNode.item

Vilket borde innebära att något är fel med följande:

set objNode = objXML.selectSingleNode("/Options[@id='1']")

Medlem sedan juni 200032 967 inlägg
#5

Till att börja med får du se till att din xml-fil är korrekt. Du skall ha citationstecken runt alla attributvärden:

<?xml version="1.0" encoding="utf-8"?>

<Root> 
<question>

<Options id="0">fråga1
</Options> 

 <Options id="1">alternativ2
</Options> 

 <Options id="2">alternativ3
</Options> 

<Options id="3">alternativ4
</Options> 

</question>
</Root>

Sedan:

Vilket borde innebära att något är fel med följande:

set objNode = objXML.selectSingleNode("/Options[@id='1']")

Står det inte två slashar i mitt kodexempel? Det är bara elementet Root du kan lägga en slash framför.

Edit: varför använder du encodingen utf-8 i ditt xml-dokument? Jag hade ändrat till iso-8859-1 för att slippa krångel med svenska tecken.

Medlem sedan dec. 1999707 inlägg
291 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
147 ms — hämta tråd, inlägg och bilagor (db)
141 ms — ändringar (db)