`
rainer
  • 浏览: 24000 次
  • 性别: Icon_minigender_1
  • 来自: 湖北荆州
最近访客 更多访客>>
社区版块
存档分类
最新评论

利用XSLT解析XML里的数据到select选项2

阅读更多

昨天已经写了如何利用XSLT解析XML里的数据到select选项,今天将写如何利用条件判断语句,使自己希望的选项能在生成的select框中被选中:

rainer.xml

xml 代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <?xml-stylesheet type="text/xsl" href="rainer.xsl"?>  
  3. <List>  
  4.     <item>  
  5.         <id>1</id>  
  6.         <name>动感</name>  
  7.     </item>  
  8.     <item>  
  9.         <id>2</id>  
  10.         <name>地带</name>  
  11.     </item>  
  12.     <unit>2</unit>  
  13. </List>  

rainer.xsl:

xml 代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <xsl:stylesheet version="1.0"  
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
  4.     <xsl:template match="/">  
  5.         <xsl:element   name="select">  
  6.         <xsl:attribute   name="name">Units</xsl:attribute>             
  7.             <xsl:for-each select="List/item">  
  8.                 <xsl:if test="normalize-space(id/text())=normalize-space(//List/unit/text())">  
  9.                     <xsl:element   name="option">  
  10.                         <xsl:attribute   name="value"><xsl:value-of select="id"/></xsl:attribute>  
  11.                         <xsl:attribute   name="selected">selected</xsl:attribute>  
  12.                         <xsl:value-of select="name"/>  
  13.                     </xsl:element>  
  14.                 </xsl:if>  
  15.                 <xsl:if test="normalize-space(id/text())!=normalize-space(//List/unit/text())">  
  16.                     <xsl:element   name="option">  
  17.                         <xsl:attribute  name="value"><xsl:value-of select="id"/></xsl:attribute>  
  18.                         <xsl:value-of select="name"/>  
  19.                     </xsl:element>  
  20.                 </xsl:if>      
  21.             </xsl:for-each>  
  22.         </xsl:element>         
  23.     </xsl:template>  
  24. </xsl:stylesheet>  
以上是我做的办法,如果大家有更方便的方法,希望能发出来一起研究.
分享到:
评论

相关推荐

    XSLT简便教程,XSLT简便教程

    XPath提供了一种查询和定位XML文档中元素和属性的方法,而XSLT则利用这些查询结果来定义如何转换源文档。简单来说,XPath告诉你“选什么”,而XSLT告诉你“怎么做”。 #### XSLT的加工机制 XSLT的加工过程是基于树...

    .NET操作XML文件完整源码

    本篇文章将详细探讨如何使用C#进行XML文件的操作,包括读取、写入、修改以及解析XML文档。 1. **读取XML文件** 使用`System.Xml`命名空间中的`XmlDocument`类可以轻松读取XML文件。首先,我们需要加载XML文件,...

    使用C#写的XML操作类

    - XSLT:转换XML到其他XML或HTML的样式表语言,可用于数据格式化或转换。 6. **异步操作和流处理** - 在大型XML文件处理中,使用`XmlReader`和`XmlWriter`的异步版本可以提高性能。 - `XmlReaderSettings`允许...

    java 调用 xsl一些案例

    ### 案例2:使用SAX或DOM解析XML 除了使用DOM,我们还可以选择SAX解析器来处理大型XML文件,因为它具有更好的性能。以下是使用SAX解析器的示例: ```java import org.xml.sax.XMLReader; import org.xml.sax....

    XMLSTARLET USER’S GUIDE

    - **`sel` 或 `select`**:选择数据或查询XML文档(支持XPath等)。 - **`tr` 或 `transform`**:使用XSLT转换XML文档。 - **`val` 或 `validate`**:验证XML文档(格式良好性、DTD、XSD、RelaxNG等)。 - **`fo` 或...

    如何将 JSON, Text, XML, CSV 数据文件导入 MySQL?

    然后,可以使用`LOAD DATA INFILE`或`INSERT INTO...SELECT`语句结合`JSON`函数解析JSON数据。例如: ```sql INSERT INTO json_table (data) SELECT JSON_OBJECT('id', id, 'name', name, 'balance', balance) ...

    Python编程入门经典

    20.9.2 XML-RPC中的数据 表示 434 20.9.3 XML-RPC响应 435 20.9.4 错误处理机制 436 20.9.5 通过XML-RPC展示 BittyWiki API 437 20.9.6 基于XML-RPC Web服务 的wiki搜索和替换 440 20.10 SOAP 442 20.10.1 SOAP快速...

    lxmldoc-2.2.2.pdf

    - **高效性**: lxml 利用了 C 语言编写的 libxml2 和 libxslt 库,因此在处理大规模文档时表现出色。 - **兼容性**: lxml 提供了与 Python 的 ElementTree API 兼容的接口,使得用户可以轻松迁移现有的代码。 - **...

    Linux编译安装软件时编译参数详解

    2. **--with-select_module**:支持select模型,默认情况下启用,如果服务器不支持epoll或者kqueue等高效I/O模型,则可以使用此选项。 3. **--with-poll_module**:支持poll模型,相比select模型效率更高,适用于高...

Global site tag (gtag.js) - Google Analytics