Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi leere tags und openxml / xdom (https://www.delphipraxis.net/58307-leere-tags-und-openxml-xdom.html)

bonsai 5. Dez 2005 12:35


leere tags und openxml / xdom
 
Hallo, ihr Delphianer!

Ich habe folgendes Problem: Ich parse eine XML-Datei mittels eines XMLtoDOMParsers, in der auch ein <img />-Tag vorkommt. Bei diesem werden aber nicht die Attribute geparst, also das Einzige, was in diesem Tag steht. Gibt es da vllt einen Parameter, der leere Tags nicht mitparst?

Grüße und so, bonsai

AndreasP 5. Dez 2005 13:30

Re: leere tags und openxml / xdom
 
mahlzeit,

auch auf die gefahr dich mißverstanden zu haben:
Zitat:

Zitat von bonsai
...in der auch ein <img />-Tag vorkommt. Bei diesem werden aber nicht die Attribute geparst, also das Einzige, was in diesem Tag steht

diser tag hat keine attribute die geparst werden könnten, ein tag mit atributen sähe so aus
XML-Code:
<img attr="irgendwas" />
Zitat:

Zitat von bonsai
Gibt es da vllt einen Parameter, der leere Tags nicht mitparst?

ich verwende zwar nicht openxml, aber das glaube ich nicht. da selbst ein leerer tag ein element der xml datei ist und somit potentiel von bedeutung. nur weil er momentan leer ist heist das ja nicht das das immer so ist was u.u. später zu einer av führen könnte. (ich lasse mich aber gern eines besseren belehren)

bonsai 5. Dez 2005 13:35

Re: leere tags und openxml / xdom
 
also, mal als beispiel: folgende xhtml-datei:

Delphi-Quellcode:
<html><head><title>&#26894;&#21517;&#26519;&#27278; - Tadashii machi - LastFMProxy v1.0.3</title>
<link rel="shortcut icon" href="/data/favicon.ico" />
<link rel="icon" href="/data/favicon.ico" />
<link rel="icon" type="image/png" href="/data/nice_favicon.png" />
<link rel="stylesheet" type="text/css" media="screen" href="data/simple.css" />
</head><body>
<div id="version">[url="http://vidar.gimp.org/lastfmproxy/"]LastFMProxy v1.0.3[/url] - 2005 Vidar Madsen</div>
<div id="station">Global Tag Radio: japanese female vocalists</div>
<div id="lasttracks">[b]Last tracks played:[/b]<ul>[*][url="http://www.last.fm/music/Pizzicato+Five/_/Trailer+Music"]Pizzicato Five - Trailer Music[/url][*][url="http://www.last.fm/music/GO%21GO%217188/_/%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%81%AB%E3%82%93%E3%81%A2%E3%82%93"]GO!GO!7188 - &#12472;&#12455;&#12483;&#12488;&#12395;&#12435;&#12386;&#12435;[/url][*][url="http://www.last.fm/music/Crystal+Kay/_/%E3%83%80%E3%83%BC%E3%83%AA%E3%83%B3+P.P.P."]Crystal Kay - &#12480;&#12540;&#12522;&#12531; P.P.P.[/url][*][url="http://www.last.fm/music/%E5%9D%82%E6%9C%AC%E7%9C%9F%E7%B6%BE/_/Aoi+hitomi+%28remix%29"]&#22338;&#26412;&#30495;&#32190; - Aoi hitomi (remix)[/url][*][url="http://www.last.fm/music/BONNIE+PINK/_/Lie+Lie+Lie"]BONNIE PINK - Lie Lie Lie[/url][/list]</div>
<div id="cover">[img]http://static.last.fm/coverart/130x130/1416504.jpg[/img]</div>
<div id="artist">[url="http://www.last.fm/music/%E6%A4%8E%E5%90%8D%E6%9E%97%E6%AA%8E"]&#26894;&#21517;&#26519;&#27278;[/url]</div>
<div id="album">[url="http://www.last.fm/music/%E6%A4%8E%E5%90%8D%E6%9E%97%E6%AA%8E/Muzai%20Moratorium"]Muzai Moratorium[/url]</div>
<div id="track">[url="http://www.last.fm/music/%E6%A4%8E%E5%90%8D%E6%9E%97%E6%AA%8E/_/Tadashii+machi"]Tadashii machi[/url]</div>
<div id="duration"><span id="lfmp-dur">00:01</span> / 03:53</div>
<div id="bookmarks"><form action="/station" name="lfmpform" method="get">Station:<select name="url" onChange="document.lfmpform.submit();">><option value="lastfm://globaltags/japanese%20female%20vocalists">japanese female vocalists</option>
<option value="lastfm://artist/Air/similarartists">artist/Air/similarartists</option>
<option value="lastfm://globaltags/piano%20rock">piano rock</option>
<option value="lastfm://play/artists/1257924">play/artists/1257924</option>
<option value="lastfm://globaltags/alternative">alternative</option>
<option value="lastfm://play/artists/1000265">play/artists/1000265</option>
<option value="lastfm://artist/%E6%9E%97%E5%8E%9F%E3%82%81%E3%81%90%E3%81%BF/similarartists">artist/%E6%9E%97%E5%8E%9F%E3%82%81%E3%81%90%E3%81%BF/similarartists</option>
<option value="lastfm://artist/%E5%9D%82%E6%9C%AC%E7%9C%9F%E7%B6%BE/fans">artist/%E5%9D%82%E6%9C%AC%E7%9C%9F%E7%B6%BE/fans</option>
<option value="lastfm://play/tracks/1023245">play/tracks/1023245</option>
<option value="lastfm://globaltags/psychill">psychill</option>
</select></form></div>
<div id="buttons">[url="/"]Refresh[/url] [url="/skip"]Skip[/url] [url="/love"]Love[/url] [url="/ban"]Ban[/url] [url="/nortp"][x][/url] Record to profile [url="/discovery/off"][x][/url] Discovery </div>
</body></html>
er parst die div-tags mit allen attributen korrekt, aber wenn ich auf das img-tag
Delphi-Quellcode:
[img]http://static.last.fm/coverart/130x130/1416504.jpg[/img]
zugreife, dann gibt er mir als attributes.length null zurück, als nodename aber korrekt img. mach ich da irgendwas falsch?

AndreasP 5. Dez 2005 14:48

Re: leere tags und openxml / xdom
 
mahlzeit,

ich hab mir diesen "xml" text mal schnell in einen tree umwandeln lassen (mit msxml) und dort wird der img tag mit allen attributen korrekt ausgelesen und angezeigt. womöglich handelt es sich hierbei um einen kleinen bug in openxml in verbindung mit html dateien (denn schlussendlich ist es ja eine). da ich mal annehme das du die infos der webseite händisch verarbeiten/darstellen willst wäre vieleicht ein blick in die indy komponenten palette nicht verkehrt. idhttp könnte dir weiter helfen (von indy hab ich aber keine ahnung :( ). überprüfe aber bitte vorher ob du wirklich diesen knoten ausliest und nicht durch einen dummen schreibfehler einen anderen knoten verarbeitest.

bonsai 5. Dez 2005 15:01

Re: leere tags und openxml / xdom
 
hm, ich probiers mal mit msxml. soll eh nicht cross-platformig werden, also dann.


Nachtrag: Es geht mit MSXML. Peinlich aber wahr, diesmal hat closed source gewonnen. Mal schauen, ob ich noch einen opensource-Vendor finde.
edit2: Hä, jetzt raff ichs nich mehr. hab vorher xdom normal benutzt. Jetzt hab ich spaßeshalber bei XmlDocument den Vendor auf OpenXML gestellt, und da gehts... Hä?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz