热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

利用XSLT来换XML的根

写程序需要换XML的根,感到很不便,于是写了一个函数,大致思路及实现如下:首先感到利用XSLT还能过滤一些东西,然后再发送回客户端,所以决定采用XSLT然后就是尝试写一个换根的

写程序需要换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文件,这就要看你如何设计了。




推荐阅读
  • OpenCV 2.4.9 源码解析:级联分类器的错误率与尺寸分析 ... [详细]
  • 本文详细介绍了 Sublime Text 3 在 2021 年的激活密钥及其在线激活方法。用户可以通过提供的链接访问云海天教程,获取更多详细的激活码信息和操作步骤。此外,文章还提供了安全可靠的激活方案,帮助用户顺利激活软件,提升编程效率。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 解决MacBook安装Windows时“无法将支持软件保存至选定驱动器”的替代方法
    在解决MacBook安装Windows过程中遇到的“无法将支持软件保存至选定驱动器”问题时,许多用户反映现有方案过于复杂。本文提出了一种更为简便的替代方法,通过优化下载路径和驱动器选择,有效解决了这一常见难题。此外,我们还提供了详细的步骤说明和注意事项,帮助用户顺利完成Windows系统的安装。 ... [详细]
  • Sublime Text 3 注册密钥及激活方法详解
    本文详细介绍了Sublime Text 3的注册密钥获取与激活方法,旨在帮助用户合法且高效地使用这款强大的文本编辑器。文章不仅提供了最新的注册密钥信息,还涵盖了详细的激活步骤,确保用户能够顺利激活软件,享受其带来的便捷与高效。此外,文中还简要对比了Sublime Text 3与其他主流文本编辑器的功能差异,为用户提供更多选择参考。 ... [详细]
  • Cookie是一种小型数据文件,由Web服务器生成并存储在用户的浏览器中。当用户再次访问同一服务器时,这些数据可以被重新读取,为用户提供个性化的体验。Cookie在软件测试中具有重要作用,能够帮助测试人员验证会话管理、用户偏好设置等功能的正确性和安全性。通过深入解析Cookie的工作原理及其在不同场景下的应用,本文旨在为软件测试人员提供全面的技术指导。 ... [详细]
  • 在 CentOS 7 系统中,为了扩展根目录(/)的存储空间,本文详细介绍了从虚拟机硬盘扩容到文件系统调整的全过程。通过具体的操作步骤,成功解决了因空间不足导致的 GNOME 桌面无法正常登录的问题,为用户提供了一套完整的解决方案。 ... [详细]
  • 通过命令行工具 `virt-install` 配置和安装虚拟机环境。`virt-install` 是一个基于 `libvirt` 虚拟化管理库的命令行工具,用于创建新的虚拟机实例。该工具支持通过串行控制台和 SDL 图形界面进行虚拟机的安装和管理,适用于多种操作系统和虚拟化平台。 ... [详细]
  • 从数据库中移除特定条目
    在数据库管理中,删除特定条目的操作是常见的需求。本文介绍了如何高效且安全地从数据库中移除指定记录,包括相关的 SQL 语句和注意事项,以确保数据完整性和系统稳定性。 ... [详细]
  • 内网渗透技术详解:PTH、PTT与PTK在域控环境中的应用及猫盘内网穿透配置
    本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在探索 Unity Shaders 的过程中,我逐渐意识到掌握 OpenGL 基础知识的重要性。本文将详细介绍 OpenGL 的核心概念和基本操作,帮助读者从零开始理解这一图形编程技术。通过实例和代码解析,我们将深入探讨如何利用 OpenGL 创建高效的图形应用。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。 ... [详细]
  • 如何使用专业软件打开和编辑PHP电影文件?
    如何使用专业软件打开和编辑PHP电影文件? ... [详细]
  • 近期,一种被称为“1KB快捷方式病毒”(学名为“VBS病毒”)在我公司内迅速蔓延,给系统安全带来了严重威胁。该病毒通过创建同名的恶意快捷方式文件传播,感染后可能导致文件损坏或丢失。为有效应对这一问题,我们正在采取一系列综合防护措施,包括更新防病毒软件、加强员工安全意识培训以及定期备份重要数据,以降低病毒带来的风险。 ... [详细]
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • 深入解析Go语言的编译与执行流程
    上一篇我们探讨了Golang在多种操作系统中的安装方法,并通过一个经典的HelloWorld示例进行了实践。在此过程中,我们使用了`gorun`命令,该命令能够一次性完成从源代码编译到程序执行的全过程。本文将深入剖析这一流程,揭示其背后的机制。实际上,`gorun`的功能可以视为`go build`与直接运行可执行文件的结合。在Golang的构建过程中,`go build`工具负责将源代码编译成二进制文件,这是生成可执行程序的关键步骤。 ... [详细]
author-avatar
工商领域LW
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有