zoukankan      html  css  js  c++  java
  • 遭遇xsl

    xsl语法:
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:myObj="urn:myObj">

    <xsl:template match="/">
      <a>
        <xsl:apply-templates select="SearchResult" />
      </a>
    </xsl:template>
    <xsl:template match="SearchResult">
    //模板内容
    </xsl:template>
    </xsl:stylesheet>

    说明:
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform XML 命名空间 MSXML 3.0 bata 版
    <xsl:template match="/"> 主节点模板
    <xsl:apply-templates select="SearchResult" /> 应用模板
    <xsl:for-each select ="ADInfos"> 在xml中循环找一个节点

    <a class="LINK">
      <xsl:attribute name="href">
        <xsl:value-of select="URL"/>
      </xsl:attribute>
      <xsl:value-of select="ADInfoTitle"/>
    </a> 链接的写法。通过加attribute来实现

    <xsl:choose>
      <xsl:when test ="IsUrlInfo = 0">
         条件判断。
        

    xml引用:

    <?xml version="1.0" encoding="utf-8" ?>
    <?xml-stylesheet type="text/xsl" href="search1.xsl"?>
      <SearchResult>
        <ADInfos></ADInfos>
       

    用程序进行样式表转换:
    XslCompiledTransform 类  
    注意:此类在 .NET Framework 2.0 版中是新增的。
    使用 XSLT 样式表转换 XML 数据。
    命名空间:System.Xml.Xsl
    程序集:System.Xml(在 system.xml.dll 中)

    // Load the style sheet.
    XslCompiledTransform xslt = new XslCompiledTransform();
    xslt.Load("output.xsl");

    // Execute the transform and output the results to a file.
    xslt.Transform("books.xml", "books.html");

    XSLT 扩展对象
    扩展对象用于扩展样式表的功能。扩展对象通过 XsltArgumentList 类来维护。
    使用 AddExtensionObject 方法将 XSLT 扩展对象添加到 XsltArgumentList 对象。此时,限定名和命名空间 URI 与扩展对象关联。
    从扩展对象返回的数据类型是四种 XPath 基本数据类型之一:number、string、Boolean 和 node set。
    StringBuilder sb = new StringBuilder();
    XsltArgumentList xa = new XsltArgumentList();
    xa.AddExtensionObject("urn:myObj", new XslUtility());
    _xslCompiledTransform.Transform(input, xa,XmlWriter.Create(sb));
    return sb;

  • 相关阅读:
    uni-app 苹果内购支付及获取苹果支付成功信息
    nginx强制使用https访问(http跳转到https)
    最新IOS审核被拒原因TOP10 | 附带解决方法
    ethercat PREEMPT SMP
    client-go workqueue
    k8s apiserver 重启失败
    cni flannel iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited
    nginx configmap
    golang yaml LoadYAML
    not found: manifest unknown: manifest unknown
  • 原文地址:https://www.cnblogs.com/greatqn/p/388426.html
Copyright © 2011-2022 走看看