XSLT求助:根节点有属性(attribut),字节点的读取问题。

shoppo0505 2017-07-20 02:07:50
当根节点没有属性值的时候:
<Root>
<p1>
<p2>
.....
在xslt文件中,我可以直接使用<xsl:template match="/Root/p1"> 来读取第二层节点

但是当Root有自己的属性的时候:
<Root name='' width='' .....>
<p1>
<p2>
这个时候我就不能使用<xsl:template match="/Root/p1"> 来读取第二层节点,没有报错,但是转换的XML文件只有头行定义。
<?xml version="1.0" encoding="utf-8"?>

已经尝试用
<xsl:template match="/">
然后再select=“Root/p1”也不行。

请指点
...全文
404 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2017-07-25
  • 打赏
  • 举报
回复
引用 5 楼 net_lover 的回复:
有namespace就得加上啊 如 <xsl:stylesheet xmlns:xx="http://www.fyswords.com.cn/xml" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/xx:Root">
试过了,还是不行,很奇怪。
shoppo0505 2017-07-21
  • 打赏
  • 举报
回复
引用 1 楼 net_lover 的回复:
属性不影响,只有xmlns名称空间的时候才影响
谢谢回复。 但是我自己测试过了,什么都相同,除了root节点的属性。 有属性,输出文件就只有头行xml定义,没有属性,整个文件就完全正确,没有问题。 也找不出任何原因。 顺便问一下,有xslt的通用解析器么?我在visual studio 和eclipse里面得到的结果不一样。xslt程序和xml源文件都是同一个
孟子E章 2017-07-21
  • 打赏
  • 举报
回复
有namespace就得加上啊 如 <xsl:stylesheet xmlns:xx="http://www.fyswords.com.cn/xml" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/xx:Root">
shoppo0505 2017-07-21
  • 打赏
  • 举报
回复
引用 3 楼 net_lover 的回复:
你可以发一下你的xml和xslt文件测试下,说的属性还有其他内容吗?如果只有你说的那2个属性, select=“Root/p1” 跟有没有属性是一样的。前提是排除拼写错误,大小写不一致等情况。
有namespace和设置。 大小写的问题在程序中是没有的,这里就是说明一下。 不过问题自己解决了。 现在是 <xsl:template match="/"> 然后再<xsl:for-each select="//......> 之前的 <xsl:template match="/Root/p1">没办法解析。 现在读取根节点之后,直接跳到下层节点,这样可以,不过具体原因也不清楚。
孟子E章 2017-07-21
  • 打赏
  • 举报
回复
你可以发一下你的xml和xslt文件测试下,说的属性还有其他内容吗?如果只有你说的那2个属性, select=“Root/p1” 跟有没有属性是一样的。前提是排除拼写错误,大小写不一致等情况。
孟子E章 2017-07-20
  • 打赏
  • 举报
回复
属性不影响,只有xmlns名称空间的时候才影响
内容概要:本文档为成都科洛威尔科技有限公司生产的MIL-1394B仿真板卡的API函数使用手册,详细介绍了该板卡在Windows和Linux环境下进行MIL-1394B/AS5643总线协议仿真和测试所需的API函数、数据结构、使用流程及例程。板卡支持CC(控制计算机)、RN(远程)和BM(总线监控)三种工作模式,提供丰富的函数用于设备管理、控制、消息收发、故障注入、中断处理等功能,并涵盖数据包格式、发送接收流程、错误检测机制等关键技术细节。手册还提供了函数调用示例和典型应用场景,帮助开发者快速掌握板卡的开发与调试。; 适合人群:从事航空电子、嵌入式系统或工业自动化领域,具备C/C++编程基础并熟悉总线通信协议的1-3年工作经验的软硬件研发工程师。; 使用场景及目标:①在复杂总线环境中实现高精度数据仿真与测试;②开发基于MIL-1394B协议的通信系统;③进行消息收发控制、时序偏移管理、错误注入测试及中断响应处理等高级功能验证;④通过API调用实现对板卡工作模式、数据流、状态监测的全面控制。; 阅读建议:建议结合配套的demo示例程序进行实践,重理解各函数的调用时序与参数配置逻辑,尤其关注STOF时序控制、消息发送模式、错误注入机制等核心功能的实现原理。使用前需仔细阅读“基本使用流程”与“附录”部分,确保正确配置硬件环境与通信参数。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧