热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

面向XML编写xslt的困难。-FacingdifficultywritingxsltforXML

ThisfirsttimeIamdealingwithxsltcreations,findingitreallytricky.这是我第一次处理xslt创建,发现它非常棘手。

This first time I am dealing with xslt creations, finding it really tricky.

这是我第一次处理xslt创建,发现它非常棘手。

I have request XML and using xslt it is supposed to generate XML with below mentioned o/p.

我已经请求了XML并使用xslt,它应该生成下面提到的o/p的XML。

Utility performing this operation is already built in C#. I need to write XSLT that will correctly read values from XML and create new XML with expected format.

执行此操作的实用程序已经在c#中构建。我需要编写XSLT,它将正确读取XML中的值并创建具有预期格式的新XML。

I am trying to write XSLT to transform XML(i/p) :

我正在尝试编写XSLT来转换XML(I /p):

    
    
        
            
                
                    
                        
                            TTTT 
                            18732081720160855 
                            40dad29c4ae9303c975639f7700bf517e6e72fbf5723c7905a74fde0d5452da0 
                        
                    
                
            
        
    

to Below mentioned format (o/p):

以下格式(o/p):


CID=TTTT&TIME=18732081720160855&HASH=40dad29c4ae9303c975639f7700bf517e6e72fbf5723c7905a74fde0d545

I have written following XSLT, which doesn't work

我已经按照XSLT编写了代码,它不起作用

    

  
  

    
      
    
    
      
    
    
      
    

    CID=&TIME=&HASH=

  


I have tried different combinations of and and but nothings seems to work.

我尝试过不同组合的

3 个解决方案

#1


1  

Try this:

试试这个:






  


  


  


CID=&TIME=&HASH=




Needs to change

需要改变


to


Because, in put xml ns2 is the namespace for the element CID.

因为,在put xml ns2中是元素CID的命名空间。

OutPut:

输出:

CID=TTTT&TIME=18732081720160855&HASH=40dad29c4ae9303c975639f7700bf517e6e72fbf5723c7905a74fde0d5452da0

#2


2  

There are numerous problems with your attempt - the most serious one is using the wrong namespace. Try instead:

您的尝试有很多问题——最严重的问题是使用错误的名称空间。试一试:

XSLT 1.0

XSLT 1.0





    
        CID=
        

        @amp;TIME=
        

        @amp;HASH=
        
    



Note:

注意:

  • there is very little point in defining a variable for something you only need once;

    为你只需要一次的东西定义一个变量是毫无意义的;

  • it is much more convenient to use the xsl:text instruction when outputting literal text; it also makes the code easier to read and maintain.

    输出文本时使用xsl:text指令要方便得多;它还使代码更易于阅读和维护。

#3


1  

You're almost there. You need to supply the result element in the stylesheet template, fix your XPath expressions, and fix a mismatched namespace URI.

你差不多了。您需要在样式表模板中提供 结果元素,修复XPath表达式,并修复不匹配的名称空间URI。

You'll want to change your template that matches "/" to something like the following:

您将希望将与“/”匹配的模板更改为以下内容:

  
    
    
    
    

    CID=&TIME=&HASH=

  

You also need to change one of these two namespace URIs so that they match, in the input XML and the XSLT:

您还需要更改这两个名称空间uri中的一个,以便它们在输入XML和XSLT中匹配:

"http://TTTT.com/TTTT/TTTTestJSONESIRequest/"

and

"http://asurion.com/TTTT/TTTTTestJSONESIRequest/"

I'm guessing these are really the same in your actual input XML and XSLT, but you changed one of them in posting the question here. So you'll want to make sure that they match.

我猜这些在实际的输入XML和XSLT中都是一样的,但是您在这里的问题中修改了其中的一个。所以你要确保它们匹配。


推荐阅读
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
author-avatar
33
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有