Ik heb een programma(tje) gemaakt dat rssfeeds download naar een (xml) file, een x aantal berichten uitleest en hier een banner van maakt op te tonen op tvschermen.
Dit was allemaal vrij simpel en had het gauw aan de praat. Alleen dan komt nu de financiele telegraaf, http://www.dft.nl/?view=rss op het moment dat ik die ga verwerken krijg ik de foutmelding:
Verwijzing naar niet gedeclareerde entiteit, euro. Regel x, positie y
Dit komt omdat de telegraaf het nodig vind om niet € te gebruiken maar: € neerzet op regel x positie y. Voor de ë gebruiken ze ë etc. en dat gaat natuurlijk ook fout.
Het eerste stukje van de xmlfile ziet er zo uit:
en de berichten zijn als volgt:
Het gaat fout op dit stukje C#
Dus ik dacht, dan zal mn C# wel niet goed zijn, en moet ik maar iets anders zoeken om ook compatible te zijn met de televaag. Na was gegoogle kwam ik onderstaande tegen:
Maar dit blijkt ook niet te werken, zelfde foutmelding op de laatste regel (xmlDoc.Load).
Doet de televaag iets fout door het gebruik van die entiteiten of moet ik een (heel) andere oplossing gaan coden (bv. met streamreader oid regel voor regel uitlezen en kijken of het een item is)?
Niet dat ik daar te beroerd voor ben, maar dat kost tijd en dan moet ik even afwegen hoeveel tijd we nog kwijt willen zijn.
Tis in .NET 1.1, misschien handig om te weten
Dit was allemaal vrij simpel en had het gauw aan de praat. Alleen dan komt nu de financiele telegraaf, http://www.dft.nl/?view=rss op het moment dat ik die ga verwerken krijg ik de foutmelding:
Verwijzing naar niet gedeclareerde entiteit, euro. Regel x, positie y
Dit komt omdat de telegraaf het nodig vind om niet € te gebruiken maar: € neerzet op regel x positie y. Voor de ë gebruiken ze ë etc. en dat gaat natuurlijk ook fout.
Het eerste stukje van de xmlfile ziet er zo uit:
XML:
1
2
3
| <?xml version="1.0" encoding="ISO-8859-1"?> <rss version="2.0"> <channel> |
en de berichten zijn als volgt:
XML:
1
2
3
4
5
6
7
| <item> <title>ProFibrix haalt €8,5 miljoen op in financieringsronde</title> <link>http://www.dft.nl/nieuws/1393564/ProFibrix_haalt__euro_8_5_miljoen_op_in_financieringsronde.html?cid=rss</link> <description>ProFibrix haalt €8,5 miljoen op in financieringsronde</description> <pubDate>Mon, 26 Mar 2007 09:10:00 CEST</pubDate> <guid>http://www.dft.nl/nieuws/1393564/ProFibrix_haalt__euro_8_5_miljoen_op_in_financieringsronde.html</guid> </item> |
Het gaat fout op dit stukje C#
C#:
1
| XPathDocument doc = new XPathDocument(padnaarmnxml); |
Dus ik dacht, dan zal mn C# wel niet goed zijn, en moet ik maar iets anders zoeken om ook compatible te zijn met de televaag. Na was gegoogle kwam ik onderstaande tegen:
C#:
1
2
3
4
5
6
| XmlTextReader xmlTextReader = new XmlTextReader(filename); XmlValidatingReader xmlValidatingReader = new XmlValidatingReader(xmlTextReader); xmlValidatingReader.ValidationType = ValidationType.None; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlTextReader); |
Maar dit blijkt ook niet te werken, zelfde foutmelding op de laatste regel (xmlDoc.Load).
Doet de televaag iets fout door het gebruik van die entiteiten of moet ik een (heel) andere oplossing gaan coden (bv. met streamreader oid regel voor regel uitlezen en kijken of het een item is)?
Niet dat ik daar te beroerd voor ben, maar dat kost tijd en dan moet ik even afwegen hoeveel tijd we nog kwijt willen zijn.
Tis in .NET 1.1, misschien handig om te weten
[ Voor 1% gewijzigd door RobIII op 27-03-2007 10:48 . Reden: Entiteiten escaped :Y) ]
Software ontwikkelen in de Achterhoek voor leuke klanten door heel Nederland? Klik hier