XSLT转换XML的前后台实现方法
来源:互联网 发布:js调用php函数 编辑:程序博客网 时间:2024/05/13 18:41
这里简单记录一下使用C#对xml进行xsl转义的方法,可以分为两种方法,一种为客户端脚本转化和服务器端转换,下面分别看看这两种方法的具体实现方式:
首先,先看一下服务器端转义的方法,具体的转化代码如下:
strResultXmlContent = “待转化的xml字符串”;
// 获取字符串文件流
Streamstream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(strResultXmlContent));
// 获取XSL解析文件,并生成公文列表
XslCompiledTransformxslt = new XslCompiledTransform();
xslt.Load(_XslFilePath);
XPathDocumentXDoc = new XPathDocument(stream);
TextWritertw = new StringWriter();
XmlWriterwriter = XmlWriter.Create(tw);
xslt.Transform(XDoc, null, writer);
stringXmlContent = tw.ToString();
writer.Close();
只进行转化,还不能算是完全成功,还必须考虑到在拼组xml字符串的时候,可能出现的一些特殊字符,这其中有一些必须要处理的常见字符,我们必须使用不会引发转化异常的替代符号代替才成,而且在顺利通过了转化后,还必须要再替换回的一些字符:
// 替换"<"到"<"
strResultXmlContent =strResultXmlContent.Replace("<","<");
// 替换">"到">"
strResultXmlContent = strResultXmlContent.Replace(">", ">");
// 替换"'"到"///'"
strResultXmlContent =strResultXmlContent.Replace("'","///'");
// 替换"""到"///""
strResultXmlContent =strResultXmlContent.Replace(""","///"");
// 替换"space;"到" "
strResultXmlContent =strResultXmlContent.Replace("space;"," ");
// 替换"&"到"&"
strResultXmlContent = strResultXmlContent.Replace("&", "&");
其中的空格,使用了自定义的space;这些都是完全可定义的,只要不影响xsl转化即可。
下面再看一下客户端脚本的转化方式:
function TransmitXmlToHTML(strXml,strXsltPath){
var xmlDoc=newActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(strXml);
var xslspec=newActiveXObject("Microsoft.XMLDOM");
xslspec.async=false;
xslspec.load(strXsltPath);
var strPageContent =xmlDoc.transformNode(xslspec);
var reg=new RegExp("<","g");
strPageContent =strPageContent.replace(reg, "<");
reg=new RegExp(">","g");
strPageContent =strPageContent.replace(reg, ">");
reg=newRegExp("'","g");
strPageContent =strPageContent.replace(reg, "///'");
reg=new RegExp(""","g");
strPageContent =strPageContent.replace(reg, "///"");
reg=newRegExp("space;","g");
strPageContent =strPageContent.replace(reg, " ");
reg=new RegExp("&","g");
strPageContent =strPageContent.replace(reg, "&");
return strPageContent;
}
对照来看,需要提供待转化xml字符串和xsl转义文件路径,同时再对特殊字符进行处理,否则就不能在页面中正常显示页面元素了。
- XSLT转换XML的前后台实现方法
- XML.转换XML的工具.XSLT
- extjs前后台的数据类型转换
- 前后台转换
- XSLT转换XML时的中文问题
- XSLT转换XML生成网页的方式
- XSLT与XML的数据转换
- XSLT转换xml文件的案例
- 防止重复提交的前后台实现
- web前后台如何实现交互的
- 前后台交互方法
- XSLT转换XML小结
- XSLT转换XML小结
- XSLT转换XML小结
- xslt转换xml
- XSLT转换XML实例
- xslt转换xml实例
- XSLT转换XML
- WCF编写规范
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- .net WPF是什么
- Some of the continuous-integration tools that work with Ant (From Ant in Action 2nd Edition)
- VB快速读取TextBox第N行的数据 (转载)
- XSLT转换XML的前后台实现方法
- HttpModule
- SOA笔记-转载
- 搜索利用网上各种资源
- office2003验证失败怎么办?
- Delphi控制Excel相关
- 解决jboss和log4j冲突
- apusic培训整理(服务器安装、应用部署、建立集群)
- 正则表达式