All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Windows2003中配置运行ASP.net程序_[Asp.Net教程]
用php简单实现Search Engine Friendly的URL_[PHP教程]
C#也能动态生成Word文档并填充数据_.net资料_编程技术
SQLServer2005-在执行批处理时出现错误。错误消息为-,目录名无效_mssql学习_编程技术
ASP.NET,2.0防止同一用户同时登陆_[Asp.Net教程]
ASP.NET页面下载程序_[Asp.Net教程]
.NET,命名规范(控件、数据类型等)_[Asp.Net教程]
SQL细节知识积累_[SQL,Server教程]
ASP.Net下两种全局变量的设置和读取方法_[Asp.Net教程]
PHP,内存管理器符号比较多个溢出漏洞_php资料_编程技术
Reading number is top 10 pictures
9.3阅兵全景图2-英雄连队梯队和外国方阵梯队
泳装名模阿尔贝特妮写真2
壮丽的云彩1
A man's favorite things5
Nikon microscopic photography of the first three
A man's favorite things12
银行20年后可能消失
漂亮的跳舞妹妹2
Fury xp desktop theme
移民小国也实惠2
Download software ranking
WebService在.NET中的实战应用教学视频 → 第4集
虚拟机5.5.3版
VC++6.0简体中文版
Unix video tutorial5
Unix video tutorial7
少妇苏霞全本
网络管理员第三版
C#与.NET技术平台实战演练
仙剑奇侠传98版歌曲
Tram sex maniac 2 (H) rar bag15
归海一刀 published in(发表于) 2014/3/20 5:15:39 Edit(编辑)
利用XSLT来换XML的根_[XML教程]

利用XSLT来换XML的根_[XML教程]

利用XSLT来换XML的根_[XML教程]

写程序需要换XML的根,感觉很不便,于是写了一个函数,大致思路及实现如下:

  首先觉得利用XSLT还能过滤一些东西,然后再发送回客户端,所以决定采用XSLT
  然后就是尝试写一个换根的XSL,如下

















大致意思是,解析一个XML中的所有结点及属性,如果非根就直接拷贝,否则就查看是否存在子结点及属性。具体资料请参照MSXML的SDK文档。


  然后写一个函数,使得NEWNODENAME可以指定:


这段代码为VB.Net中的实现,ASP中实现时需要注意对象附值需要用Set,还有返回值的问题


Public Function ChangeXmlRootNodeName(ByRef oXml As MSXML2.DOMDocument, ByVal name As String) As String
If oXml Is Nothing Then
Return ""
End If
Dim sXslt As String
sXslt = "" & vbCrLf
sXslt = sXslt & "" & vbCrLf
sXslt = sXslt & "" & vbCrLf
sXslt = sXslt & vbCrLf
sXslt = sXslt & "" & vbCrLf
sXslt = sXslt & "<" & name & ">"" & vbCrLf"
sXslt = sXslt & " " & vbCrLf
sXslt = sXslt & "" & vbCrLf
sXslt = sXslt & "
" & vbCrLf
sXslt = sXslt & vbCrLf
sXslt = sXslt & "" & vbCrLf
sXslt = sXslt & " " & vbCrLf
sXslt = sXslt & " " & vbCrLf
sXslt = sXslt & " " & vbCrLf
sXslt = sXslt & "
"" & vbCrLf"
sXslt = sXslt & "
"" & vbCrLf"
sXslt = sXslt & vbCrLf
sXslt = sXslt & "
" & vbCrLf


Dim oXsl As New MSXML2.DOMDocument
oXsl.async = False
oXsl.resolveExternals = False
oXsl.loadXML(sXslt)


Dim sXml As String


sXml = oXml.transformNode(oXsl)


sXml = AddXmlHeader(sXml)


 sXsl = Nothing


Return sXml
End Function



  还有,当然你也可以实现生成那个XSL的XSL文件,这就要看你如何设计了。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.