Interessanterweise hatte ich das gar nicht so geschrieben, wie das dann dargestellt wurde. Daher hier nochmal den Code mit einem Leerzeichen hinter dem &, damit das nicht aufgelöst wird:
Oje. Und was stimmt nun? Beides?
Weil wenn ich das mache:
Delphi-Quellcode:
var
XMLDoc: IXMLDocument;
Node: IXMLNode;
s: String;
begin
XmlDoc:= TXmlDocument.Create(Nil);
XmlDoc.LoadFromFile('c:xml1.xml');
// XmlDoc.LoadFromFile('c:xml2.xml');
Node:= XmlDoc.DocumentElement.ChildNodes.FindNode('message');
if Assigned(Node) then
s:= Node.NodeValue;
Ist bei beiden Varianten s "'Dies ist ein Umlaut: ö.'"
Die Verwirrung kehrt zurück....
xml1.xml:
Code:
<?
xml version="1.0" encoding="utf-8"?>
<lpr:error xmlns:lpr="http://127.0.0.1/lpr">
<message>Dies ist ein Umlaut: ö.
</message>
</lpr:error>'
xml2.xml:
Code:
<?
xml version="1.0" encoding="utf-8"?>
<lpr:error xmlns:lpr="http://127.0.0.1/lpr">
<message>Dies ist ein Umlaut: & #246;.
</message>
</lpr:error>'
(ohne Leerzeichen nach dem &)
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.