以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  关于XSLT取得XML节点名,或者属性名的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=59513)


--  作者:lanwilliam
--  发布时间:3/6/2008 4:06:00 PM

--  关于XSLT取得XML节点名,或者属性名的问题
现有XML
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<锅炉>
  <生产制造>
    <层次1>
      <产品编号>P0807-XC</产品编号>
      <产品名称>燃油气锅炉</产品名称>
      <产品型号>Model1-XC</产品型号>
      <发卡日期>2008-2-26 15:12:47</发卡日期>
      <监检报告编号>Report-XC-004</监检报告编号>
      <监检单位>山东省特检院-XC</监检单位>
      <卡号>30d345e6c005978c</卡号>
      <企业id>1</企业id>
      <设计图号>D1</设计图号>
      <设计许可号>J1</设计许可号>
      <是否发卡>1</是否发卡>
      <完成日期>2008-2-21 0:00:00</完成日期>
      <制造厂家></制造厂家>
      <制造许可证编号>M1</制造许可证编号>
      <质保书编号>XC-007</质保书编号>
    </层次1>
  </生产制造>
</锅炉>

由于“锅炉”和“生产制造”是从数据库读取然后写上的,所以不能在xslt中写死 select="锅炉",但是有需要取到值显示,开始考虑输出xml时改为
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<锅炉 name ="锅炉">
  <生产制造 name="生产制造">
    <层次1 name="层次1">
      <产品编号>P0807-XC</产品编号>
      <产品名称>燃油气锅炉</产品名称>
      <产品型号>Model1-XC</产品型号>
      <发卡日期>2008-2-26 15:12:47</发卡日期>
      <监检报告编号>Report-XC-004</监检报告编号>
      <监检单位>山东省特检院-XC</监检单位>
      <卡号>30d345e6c005978c</卡号>
      <企业id>1</企业id>
      <设计图号>D1</设计图号>
      <设计许可号>J1</设计许可号>
      <是否发卡>1</是否发卡>
      <完成日期>2008-2-21 0:00:00</完成日期>
      <制造厂家></制造厂家>
      <制造许可证编号>M1</制造许可证编号>
      <质保书编号>XC-007</质保书编号>
    </层次1>
  </生产制造>
</锅炉>
通过取得属性值来实现,但是发现也有些困难(小弟新手)

我想整理成
设备类型:锅炉
环节名称:生产制造
层次编号:1
产品编号:P0807-XC
。。。
质保书编号:XC-007
还望哪为高人能够给予指点


--  作者:Qr
--  发布时间:3/6/2008 8:05:00 PM

--  
select="*"可以取任意节点的值,name()可以输出节点名。
--  作者:lanwilliam
--  发布时间:3/7/2008 8:41:00 AM

--  
但是还有个问题
<for-each>里面循环层次下的节点时
<value-of select="节点名"> 应该是这样输出接点的内容的吧
但是由于我这个xml是生成的,节点名称可能有所不同,所以不能写死。
这里我想输出层次下的  节点名称:节点内容  应该怎么处理?
--  作者:Qr
--  发布时间:3/7/2008 8:51:00 AM

--  
<value-of select="."/> 就可输出当前节点值,怎么会写死呢?
--  作者:lanwilliam
--  发布时间:3/7/2008 10:41:00 AM

--  
问题解决了,再内部又追加了一层循环,感谢
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
74.219ms