2013-09-25 45 views
1

我有包括來自資源js文件到我生成的XHTML文件有問題,我一直就是這麼做的:包括JS在XHTML文件與的XElement

new XElement("SCRIPT", new XAttribute("language", "javascript"), new XAttribute("type", "text/javascript"), "\n" + MyResources.jsFile + "\n"); 

相同的CSS和它總是好的,但現在我的js文件包含'<'和'>'字符,並且在保存破壞我的整個功能後,它們被更改爲& lt和& gt,我可以以某種方式避免這種情況嗎? 如果可能,我寧願留在XElements中。

回答

0

使用XCData節點上CDATA段內

new XCData(MyResources.jsFile) 

文本將被解析器忽略。


你不能使用的XElement因爲它會逃跑的<>&符號

+0

是的,但是當它在CData內的腳本將不會運行:(。 –

+0

@AndrzejCzerwoniec沒有..完美的作品.. – Anirudha

+0

@AndrzejCzerwoniec不承擔它!即使[臉書](http://www.facebook.com)的javascipt嵌入'<![CDATA' – Anirudha

0

好吧,我用從XTEXT派生的類固定的問題就像是在這裏完成: How to avoid System.Xml.Linq.XElement escaping HTML content?

public class XRaw : XText 
{ 
     public XRaw(string text):base(text){} 
     public XRaw(XText text): base(text){} 

     public override void WriteTo(System.Xml.XmlWriter writer) 
     { 
      writer.WriteRaw(this.Value); 
     } 
}