"We are back" « oc.at

XML / HTML Problem

Gulinborsti 06.02.2006 - 09:33 916 7
Posts

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
Hi!

Ich beschäftige mich erstmals mit XML und bin auf 2 Probleme gestoßen, die ich bisher auch mit gründlichen Nachforschungen nicht lösen konnte.

Konkrete Lösungen, Erklärungen und natürlich hilfreiche Links sind willkommen.

Ich möchte aus einer XML Datei mittels Javascript einen bestimmten Datensatz heraussuchen und die entsprechenden Daten dann auf einer HTML Seite anzeigen.
Leider komme ich nicht soweit (das Script für die eigentliche Aufgabe ist NICHT das Problem).

1) Die XML Datei enthält am Beginn folgende Zeilen:
Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE RCFEED [
<!ENTITY RCFEEDEnt "RaceCast RSS Feed Entity">
]>
<RaceCastRSSFeed>
	<server>
...
Was bedeuten die !DOCTYPE und !ENTITY Zeilen? Nur wenn ich diese entferne (lokale manipulierte Kopie der XML Datei), funktioniert der untenstehende Testcode, anderenfalls erhalte ich keine Daten.
Was muß ich tun, damit ich die XML Datei trotz dieser Zeilen auslesen kann?

2) Die Elemente "event", "series" und "session" können in meinem Beispiel so nicht angesprochen werden. Ich nehme an, daß dies mit den für diese Elemente vorhandenen Attributen zusammenhängt. Ich habe allerdings keinen Weg gefunden, die Attribute und Werte dieser Elemente auszulesen.
Wie werden die Elemente bzw. Attribute korrekt addressiert?

Testcode:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<head>

<title>XML Testpage</title>

</head>

<body>

<xml src="RaceCastRSSFeed.xml" id="xmlrace" async="false"></xml>

<table border="1" datasrc="#xmlrace">
	<thead>
		<tr align="center" bgcolor="yellow">
			<td>Name</td>
			<td>RaceID</td>
			<td>IP</td>
			<td>Port</td>
			<td>Event</td>
			<td>Series</td>
			<td>Session</td>
	</thead>
	<tbody>
		<tr align="center" bgcolor="cyan">
			<td><span datafld="name"></span></td>
			<td><span datafld="raceID"></span></td>
			<td><span datafld="ip"></span></td>
			<td><span datafld="queryport"></span></td>
			<td><span datafld="event"></span></td>
			<td><span datafld="series"></span></td>
			<td><span datafld="session"></span></td>
		</tr>
	</tbody>
	<tfoot>
		<tr align="center" bgcolor="magenta">
			<td>Summary</td>
			<td colspan="6">whatever...</span></td>
		</tr>
	</tfoot>
</table>

</body>

</html>
Bearbeitet von Gulinborsti am 08.02.2006, 23:58

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9822
Zitat von Gulinborsti
das Script für die eigentliche Aufgabe ist NICHT das Problem

sicher?

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
Zitat von iCA-
sicher?
Ganz sicher :rolleyes:

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9822
http://de.selfhtml.org/xml/regeln/d...htm#interne_dtd

auf den ersten blick ist das dokument nicht xml konform

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
Zitat von iCA-
http://de.selfhtml.org/xml/regeln/d...htm#interne_dtd

auf den ersten blick ist das dokument nicht xml konform

stimmt, und das "HTML" ist nicht HTML-konform. Es gibt kein "xml" Element in HTML.

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
Ich hab mit den Entwicklern des xml files Kontakt aufgenommen, mal sehen was die dazu sagen.

Mittlerweile habe ich eine neue Variante meines Problems geschrieben, die allerdings ActiveX verwendet und wahrscheinlich nur mit IE funktioniert.

Variante 1
xml ohne DTD, funktioniert

Variante 2
xml mit DTD, funktioniert nicht

Irgendwelche Vorschläge, wie ich das anders lösen könnte?

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9822
ja, mittels xslt.

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
Problem gelöst, mit XMLHttpRequest() funktioniert es trotz des nicht ganz einwandfreien !DOCTYPE Tags.

Danke für die Tipps.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz