Classic ASP -> Attribute ansprechen?
Jan
- xml
Hallo Leute,
darf hier in der Firma was mit klassischem noch auf VB6 basierendem ASP machen.
Und zwar soll ich ein XML-File auslesen. Auf aspheute.com hab ich folgendes Script gefunden:
<%
Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM")
XMLDoc.async = False
strXMLLocation = Server.MapPath("currentarticles.xml")
bSuccess = XMLDoc.load(strXMLLocation)
If Not bSuccess Then
Response.Write "Loading the XML file <b>" & strXMLLocation & "</b> failed!"
Response.End
End If
Set rootNode = XMLDoc.documentElement
If rootNode.hasChildNodes() Then
Response.Write "<table border=""0"" width=""500"" cellspacing=""5"">"
For Each article in rootNode.childNodes
strTitle = article.childNodes(0).text ' title
strAuthor = article.childNodes(1).text ' author
strURL = article.childNodes(2).text ' url
strDate = article.childNodes(3).text ' date
strDescription = article.childNodes(4).text ' description
Response.Write "<tr><td>"
Response.Write "<font size=1><b>[" & strDate & "]</b></font> "
Response.Write "<a href=""" & strURL & """>" & strTitle & "</a>"
Response.Write "</td></tr>" & vbCrlf
Next
Response.Write "</table>"
Else
Response.Write "Sorry, no current articles were downloaded from AspHeute.com"
End If
%>
Mein Problem: Hier werden keine Attribute angesprochen, im Nachsatz erwähnt der Autor, dass er das in einen anderen Artikel einbaut, jedoch ist dieser unauffindbar.
Kann mir hier jemand weiterhelfen?
lg, Jan
Mein Problem: Hier werden keine Attribute angesprochen [...] Kann mir hier jemand weiterhelfen?
childNodes liefert dir eine Liste von DOM-Knoten, diese wiederum haben eine Eigenschaft attributes. Vielleicht hilft dir das weiter.
Siechfred
Mein Problem: Hier werden keine Attribute angesprochen [...] Kann mir hier jemand weiterhelfen?
childNodes liefert dir eine Liste von DOM-Knoten, diese wiederum haben eine Eigenschaft attributes. Vielleicht hilft dir das weiter.
Siechfred
Nur wie sieht das Syntaxmässig an dem vorhandenen VB6-Code aus?
lg, Jan
Hi,
dim attributwert as string
attributwert = xmlnode.Attributes.GetNamedItem("attributename")
... sagt mir mein gedächtnis an alte VB6 Zeiten :)
Etwas Selbstinitiative beim Suchen auf MSDN hätte dir das sicher auch recht schnell ans Tageslicht gefördert.
Ciao, Frank
Hiho,
Etwas Selbstinitiative beim Suchen auf MSDN hätte dir das sicher auch recht schnell ans Tageslicht gefördert.
Also seit .NET finde ich kaum noch was hilfreiches bei MSDN. Da muss man schon wissen wo man es findet. Zumal auch dort mittlerweile jede Seite den Verweis "This page is specific to .NET Framework 3.0" enthaelt...
Vielleicht hilft das hier: http://msdn2.microsoft.com/en-us/library/d1wf56tt.aspx
childNodes liefert dir eine Liste von DOM-Knoten, diese wiederum haben eine Eigenschaft attributes. Vielleicht hilft dir das weiter.
Nur wie sieht das Syntaxmässig an dem vorhandenen VB6-Code aus?
For Each article in rootNode.childNodes
'article ist vom Typ IXMLDOMNode
'IXMLDOMNode.attributes liefert alle Attribute des aktuellen Knotens
For Each property in article.attributes
'Beispiel fuer die Verarbeitung mittels Select..Case
Select Case property.baseName
Case "attributname"
Eigenschaft = property.Value
'und so weiter
End Select
So in etwa, meine VB6-Kenntnisse sind stark eingerostet :)
Siechfred
Um mein Problem genauer zu zeigen hier noch der Inhalt des XML-Files:
<article>
<title aktiv="ja"><![CDATA[Probleme beim Verarbeiten von Datumswerten]]></title>
<author><![CDATA[Christian Koller]]></author>
<url><![CDATA[http://www.aspheute.com/artikel/20000413.htm]]></url>
<date><![CDATA[13.4.2000]]></date>
<description><![CDATA[Als Entwickler von Web Sites ist das Datumsformat ein ganz spezielles Problem, bei dem man sehr schnell anstößt - weil sich die Ländereinstellungen des jeweiligen Servers auf den Code Ihrer ASP Seiten auswirken. Dieser Artikel zeigt eine Lösung, die auf allen Systemen die gewünschten Ergebnisse liefert.]]></description>
</article>
Hier wird ja nur der Text angezeigt, also der Inhalt zwischen Anfangs- und End-Tag. Wie kann ich diesen Code erweitern, dass ich beim Tag "title" das Attribut "aktiv" auch auslesen kann?
If rootNode.hasChildNodes() Then
Response.Write "<table border=""0"" width=""500"" cellspacing=""5"">"
For Each article in rootNode.childNodes
strTitle = article.childNodes(0).text ' title
strAuthor = article.childNodes(1).text ' author
strURL = article.childNodes(2).text ' url
strDate = article.childNodes(3).text ' date
strDescription = article.childNodes(4).text ' descriptionResponse.Write "<tr><td>"
Response.Write "<font size=1><b>[" & strDate & "]</b></font> "
Response.Write "<a href=""" & strURL & """>" & strTitle & "</a>"
Response.Write "</td></tr>" & vbCrlf
Next
Response.Write "</table>"
Else
Response.Write "Sorry, no current articles were downloaded from AspHeute.com"
End If
%>
lg, Jan