Kaufmännisches und-Zeichen in XML-Daten nicht, so dass zum laden von xml
ich bin über einen web-service abrufen mir die xml-Datei enthält eine Menge von url. ich verwende folgenden code, um es zu laden:
XmlDocument xdoc = new XmlDocument();
xdoc.Load(fileName.Trim());
seine nicht in der Lage zu laden meine xml, wenn alle kaufmännischen und-Zeichen existiert in jeder element-Inhalt.
meine xml ist wie:
<media:thumbnail url="http://someurl/player/mezzanine/image.php?w=124&h=99&path=ndtv/a79d98c3030c041e0033105943c1b668_mezzn.jpg&hash=23991c2513a8e359d120840e6f897d4d" width="124" height="70" />
<media:fullimage url="" width="350" height="196" />
HINWEIS: ich kann nicht änderungen in web service, wie ich immer bin, diese von einem anderen provider haben.
bitte helfen Sie mir.
Dank
erhalte ich diese exception:
System.Xml.XmlException: '=' ist ein unerwartetes token. Das erwartete token ist ';'. Linie 753, position 89.
auf diese Zeile
<media:thumbnail url="http://someurl/player/mezzanine/image.php?w=124&h=99&path=ndtv/a79d98c3030c041e0033105943c1b668_mezzn.jpg&hash=23991c2513a8e359d120840e6f897d4d" width="124" height="70" />
- Nun, das ist eine
invalid XML
, was will man erwarten? Zeichen muss entkommen. - <rant>dumm Dumm-Anbieter. Würde jemand dem Schiff eine Bibliothek, die nicht selbst kompilieren? Ich bezweifle es. Doch nur wenige scheinen zu kümmern, die Bereitstellung richtige markup, auf alle...</rant>
- sind Sie eine Ausnahme? Ja, dann poste den StackTrace und die Quelle der Ausnahme.
- Der Grund, es kann nicht laden Sie Ihre XML ist, dass XML ist nicht XML.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht bekommen kann die provider zu beheben, Ihre "XML", dann die einfachste Sache zu tun ist, führen Sie es durch ein Dienstprogramm wie Sauber .NET, die versuchen, zu kompensieren, für diese Art von Fragen und eine wohlgeformte XML-Datei, die Sie Bearbeiten können.
Ersetzen jedes
&
imurl
mit&
TextReader
). Führen string.Replace() und rufen Sie dann xmlDoc.LoadXml(string).Ersetzen
&
mit&
behebt dies für mich der IE-client-Seite XML-parser, die ich annehmen, ist die gleiche Bibliothek. Interessanterweise, FF hat keine Probleme mit der & - Zeichen zwischen doppelten Anführungszeichen.