c# – 如何使用Linq to XML将XML保存在XML文件中?
发布时间:2020-12-15 07:45:18 所属栏目:百科 来源:网络整理
导读:我正在尝试使用 Linq to XML来保存在 XML文件和 Windows窗体应用程序之间检索一些HTML.当它将其保存到XML文件时,HTML标记将获得xml编码,并且不会保存为直接HTML. 示例HTML: PFONT color=#004080USample HTML/U/FONT/P 保存在XML文件中: lt;Pgt;lt;FONT col
我正在尝试使用
Linq to
XML来保存&在
XML文件和
Windows窗体应用程序之间检索一些HTML.当它将其保存到XML文件时,HTML标记将获得xml编码,并且不会保存为直接HTML.
示例HTML: <P><FONT color=#004080><U>Sample HTML</U></FONT></P> 保存在XML文件中: <P><FONT color=#004080><U>Sample HTML</U></FONT></P> 当我手动编辑XML文件并输入所需的HTML时,Linq会拉入HTML并正确显示它. 以下是将HTML保存到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; 我假设这是发生了xml编码的b / c,但我不知道如何处理它. This question给了我一些线索……但没有答案(对我而言,至少). 谢谢您的帮助, 奥兰 解决方法
设置Value属性将自动编码html字符串.这应该可以解决问题,但您需要确保HTML是有效的XML(XHTML).
currentReport.Element("recomendations").ReplaceNodes(XElement.Parse(myCallreports.Comments)); 编辑:您可能需要将用户输入的HTML包装在< div>中< / DIV>标签. XElement.Parse期望找到至少包含起始和结束xml标记的字符串.所以,这可能会更好: currentReport.Element("recomendations").ReplaceNodes(XElement.Parse("<div>" + myCallreports.Comments + "</div>")); 然后你只需要确保像< br>这样的标签.正在< br />中发送. 编辑2:另一个选项是使用XML CDATA.用<![CDATA [和]]>包装HTML,但我从来没有实际使用过,我不确定它是如何影响读取xml的. currentReport.Element("recomendations").ReplaceNodes(XElement.Parse("<![CDATA[" + myCallreports.Comments + "]]>")); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |