J'essaie d'utiliser Linq en XML pour enregistrer & récupérer du code HTML entre un fichier XML et une application Windows Forms. Lorsqu'il l'enregistre dans le fichier XML, les balises HTML sont codées en XML et ne sont pas enregistrées en HTML.Comment enregistrer du HTML dans un fichier XML en utilisant Linq to XML?
Exemple HTML:
<P><FONT color=#004080><U>Sample HTML</U></FONT></P>
enregistré dans le fichier XML:
<P><FONT color=#004080><U>Sample HTML</U></FONT></P>
Lorsque je modifier manuellement le fichier XML et mis dans le code HTML désiré LINQ tire dans le code HTML et affiche correctement.
Voici le code qui enregistre le HTML dans le fichier XML:
XElement currentReport = (from item in callReports.Descendants("callReport")
where (int)item.Element("localId") == myCallreports.LocalId
select item).FirstOrDefault();
currentReport.Element("studio").Value = myCallreports.Studio;
currentReport.Element("visitDate").Value = myCallreports.Visitdate.ToShortDateString();
// *** The next two XElements store the HTML
currentReport.Element("recomendations").Value = myCallreports.Comments;
currentReport.Element("reactions").Value = myCallreports.Ownerreaction;
Je suppose que cela se passe b/c de l'encodage XML, mais je ne suis pas sûr de savoir comment faire face. This question m'a donné quelques indices ... mais pas de réponse (pour moi, au moins).
Merci pour l'aide,
Oran
Merci pour la réponse. Ça a marché! Mais maintenant j'ai un problème pour valider le HTML. J'utilise ce contrôle http://www.codeproject.com/KB/edit/editor_in_windows_forms.aspx pour permettre aux utilisateurs de créer le code HTML et il ne semble pas avoir XHTML valide. Je suppose que je dois trouver un nouveau contrôle HTML, formater le HTML dans le code ou utiliser une autre méthode pour enregistrer le HTML en XML. Des suggestions? – orandov
J'avais déjà essayé d'envelopper le html dans une balise mais le problème est que le contrôle de l'éditeur HTML que j'utilise produit un code XHTML non valide – orandov
Merci beaucoup Dennis! CData fonctionne! Voici l'utilisation Linq To XML de CData currentReport.Element ("recomendations"). ReplaceNodes (new XCData (myRbccallreports.Comments)); – orandov