Próbuję użyć Linq do XML, aby zapisać & pobrać niektóre HTML między pliku XML i aplikacji formularzy systemu Windows. Kiedy zapisuje go do pliku XML, znaczniki HTML otrzymują kod XML i nie są zapisywane jako proste HTML.Jak zapisać kod HTML w pliku XML, używając Linq do XML?
Przykład HTML:
<P><FONT color=#004080><U>Sample HTML</U></FONT></P>
Zapisane w pliku XML:
<P><FONT color=#004080><U>Sample HTML</U></FONT></P>
Kiedy ręcznie edytować plik XML i umieścić w żądanym formacie HTML LINQ ciągnie w HTML i wyświetla go poprawnie.
Oto kod HTML, który zapisuje do pliku 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;
Przypuszczam, że to się dzieje b/c kodowania xml, ale nie jestem pewien, w jaki sposób radzić sobie z nim. This question dał mi wskazówki ... ale bez odpowiedzi (przynajmniej dla mnie).
Dzięki za pomoc,
Oran
Dzięki za odpowiedź. Zadziałało! Ale teraz mam problem z weryfikacją kodu HTML. Używam tej kontroli http://www.codeproject.com/KB/edit/editor_in_windows_forms.aspx , aby umożliwić użytkownikom tworzenie kodu HTML i nie wydaje się, że ma poprawny XHTML. Chyba muszę znaleźć nowy kontrolek HTML, sformatować kod HTML w kodzie lub użyć innej metody, aby zapisać kod HTML w XML. Wszelkie sugestie? – orandov
Próbowałem już owijać kod HTML w tag, ale problem polega na tym, że kontrolka edytora HTML, której używam, generuje nieprawidłowy XHTML – orandov
Dziękuję bardzo Dennis! CData działa! Tutaj jest użycie Linq To XML z CData currentReport.Element ("rekomendacje"). ReplaceNodes (nowy XCData (myRbccallreports.Comments)); – orandov