Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#64

Re: Ideen für spezielle Stringbearbeitung

  Alt 26. Jul 2008, 17:07
Hallo,

versuche es mal so:

Delphi-Quellcode:
function CreateDocumentFromUrl(var doc: IXMLDOMDocument2; const url: string): Boolean;
begin
  doc := ComsDOMDocument.Create;
  doc.async := False;
  Result := doc.load(url);
end;

{
  ...
}


procedure Tfrmxml.Button1Click(Sender: TObject);
const
  XPATH = '//Basket[%d]/@path';
var
  doc: IXMLDOMDocument2;
  n: IXMLDOMNode;
begin
  if CreateDocumentFromUrl(doc, 'beispiel.xml') then
  begin
    n := doc.selectSingleNode(Format(XPATH, [1]));
    ShowMessage(VarToStr(n.nodeValue));
  end else ShowParseError(doc.parseError);
end;
Weil du beim Memo die property Wrap auf True gesetzt hast, wird der Text umgebrochen - leider aber nach Regeln, die der XML-Parser nicht mag.

Hättest du Wrap auf False gesetzt (default), dann wäre dir der zwangsweise Umbruch nach 1024 Zeichen pro Zeile (editor limitation) zum Verhängnis geworden, da wahrscheinlich wieder an einer für den XML-Parser nicht akzeptablen Stelle umgebrochen worden wäre.

Entweder du liest das Dokument erst zur Laufzeit in dein Memo ein, oder - wenn du das Memo nicht zur Visualisierung benötigst - du lässt das XML-Dokument gleich vom Parser lesen, wie ich es mit CreateDocumentFromUrl() zeige.

Freundliche Grüße
  Mit Zitat antworten Zitat