2013-09-25 46 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); 
     } 
}