AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XML und Nodes mit HTML Tags

Ein Thema von RWarnecke · begonnen am 5. Dez 2017 · letzter Beitrag vom 6. Dez 2017
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

XML und Nodes mit HTML Tags

  Alt 5. Dez 2017, 19:06
Hallo zusammen,

ich habe eine einfache XML-Datei. Die versuche ich über himXML zu öffnen. Das funktioniert auch noch, nur wenn ich jetzt versuche einzelne Nodes auszulesen oder mir nur die Anzahl der Nodes wiedergeben will bekomme ich den folgenden Fehler :

---------------------------
Debugger Exception Notification
---------------------------
Project eBayWerkzeugkoffer.exe raised exception class EXMLException with message '[EXMLException] TXMLFile.ParsingTree:
unknown closing tag - node "font" is the last opened, but closing "strong" is found'.
---------------------------
Break Continue Help
---------------------------

Die einzelnen Nodes sind wie folgt aufgebaut :

Code:
<Item>
   <id>63312</id>
   <ApplyShippingDiscount></ApplyShippingDiscount>
   <AttrXML></AttrXML>
   <AutoPay></AutoPay>
   <BuyItNowPrice>0</BuyItNowPrice>
   <Country>DE</Country>
   <Currency></Currency>
   <Description><font rwr='1' size='4' style='font-family:Arial'>
<style>img{max-width:100%}</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<p align="left">
<strong><font color="#ff0010" face="Arial" size="4">Beispieltext</font></strong>
</p>
</font></Description>
   <ExpressOptOut></ExpressOptOut>
   <GetItFast></GetItFast>
</Item>
Wenn ich den HTML-Quelltext aus der Node "Description" entferne, dann funktioniert der folgende Quelltext :
Delphi-Quellcode:
var
  xmlFile: TXMLFile;
  nodeList: TXMLNodeList;
begin
  xmlFile := TXMLFile.Create();
  xmlFile.LoadFromFile(XMLFileName);

  nodeList := xmlFile.Nodes;
  result := IntToStr(nodeList.Count);
end;
XMLFileName ist ein String mit dem Pfad zur XML-Datei. Was muss ich machen, damit das auch mit dem HTML-Quelltext funktioniert ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
932 Beiträge
 
Delphi 6 Professional
 
#2

AW: XML und Nodes mit HTML Tags

  Alt 5. Dez 2017, 19:25
Hmm..

Da fehlt für das '<meta' das </meta> und es kommt dafür das </font>...
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: XML und Nodes mit HTML Tags

  Alt 5. Dez 2017, 19:38
Danke für den Hinweis mit Meta. Wenn ich manuell </meta> hinzufüge funktioniert es. Jetzt ist es so, dass der HTML-Quelltext aus einem Export kommt. Kann ich irgendwie den Inhalt von den XML Nodes bei der Überprüfung ausschließen ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
9.303 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: XML und Nodes mit HTML Tags

  Alt 5. Dez 2017, 21:58
Kann ich irgendwie den Inhalt von den XML Nodes bei der Überprüfung ausschließen ?
Ist das nicht genau ein Anwendungsfall für CDATA?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.180 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: XML und Nodes mit HTML Tags

  Alt 5. Dez 2017, 22:44
CDATA wäre ein guter Weg, oder die HTML-Tags umcodieren.
<xyz>
&lt;xyz&gt;

Aber wenn schon HTML direkt im XML, dann auf jeden Fall nur XHTML, denn das wäre vollständig XML-kompatibel.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: XML und Nodes mit HTML Tags

  Alt 6. Dez 2017, 07:15
Hallo zusammen,

danke für die Antworten. CDATA war das was ich gebraucht habe. Da ich die Daten so geliefert bekomme und keinen Einfluss drauf habe, werde ich jetzt einfach <Description> durch <Description><![CDATA[ und </Description> durch ]]></Description> ersetzen, bevor ich das XML-File in himXML lade.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf