Tjekke om attribute eksiterer ..
Først koden:---------------------- XML ----------------------
<block>
<hl2>Dette skriver selve overskriften</hl2>
<p summary="true">Dette er en kort beskrivelse</p>
<p text="true">
<p>Dette skriver selve broedteksten, afsnit 1</p>
</p>
</block>
<block>
<hl2>Dette skriver selve overskriften</hl2>
<media media-type="image">
<media-reference data-location="http://127.0.0.1/test.jpg" mime-type="image/jpeg">Dette er et billede</media-reference>
</media>
<p summary="true">Dette er en kort beskrivelse</p>
<p text="true">
<p>Dette skriver selve broedteksten, afsnit 1</p>
</p>
</block>
--------------------------------------------------
---------------------- ASP ----------------------
set objxmlhttp = server.createobject("Microsoft.XMLHTTP")
set objxmldom = server.createobject("Microsoft.XMLDOM")
call objxmlhttp.open("get", "http://127.0.0.1/test.xml", false)
objxmlhttp.send
set objxmldom = objxmlhttp.responsexml
set characters = objxmldom.selectnodes("//block")
set strdate = objxmldom.selectnodes("//story.date")
set strmedia = objxmldom.selectnodes("//media-reference")
for i = 0 to characters.length - 1
set character = characters(i)
response.write "<b>dateline:</b> " & strdate(i).getattribute("norm") & "<br>"
response.write "<b>hl2:</b> " & character.selectsinglenode("hl2").text & "<br>"
set arrps = character.selectnodes("p[@text='true']/p")
for a = 0 to character.selectnodes("p[@text='true']/p").length-1
response.write("<p>" & arrps(a).text & "</p>")
next
response.write "<b>media:</b> " & strmedia(i).getattribute("data-location") & "<br>"
set character = nothing
next
set strtext = nothing
set characters = nothing
set objxmlhttp = nothing
set objxmldom = nothing
--------------------------------------------------
Spørgsmålet:
Jeg har et xml doc hvor enkelte tags kun indgår når der er indhold i. Hvor tjekker jeg om den eksisterer og udskriver <media> attributten hvis den gør. Både billede link og tekst. Jeg kan godt skrive den ud normalt, men når man kører en løkekr fejler den ligeså snat der er en <block> uden. På forhånd tak.