首页 >后端开发 >XML/RSS教程 >通过javascript xml xsl取值及数据修改第1/2页的实例详解

通过javascript xml xsl取值及数据修改第1/2页的实例详解

Y2J
Y2J原创
2017-04-21 10:41:301809浏览

1.example.xml--主要数据文件 

<?xml version="1.0" encoding="UTF-8"?> 
<?xml:stylesheet type="text/xsl" href="example.xsl"?> 
<projects id="1"> 
    <project title="一级标题1" index="1"> 
        <items isTrunk="false" title="二级标题1.1" id="items_1"> 
            <result type="2">1</result> 
            <officer><![CDATA[]]></officer> 
            <classified>1</classified> 
            <eligibility>0</eligibility> 
            <remark></remark> 
        </items> 
        <items isTrunk="false" title="二级标题1.2" id="items_2"> 
            <result type="2">3</result> 
            <officer><![CDATA[]]></officer> 
            <classified>1</classified> 
            <eligibility>0</eligibility> 
        </items> 
    </project> 
    <project title="一级标题2" index="2"> 
        <items isTrunk="false" title="二级标题2.1" id="items_3"> 
            <result type="3">3</result> 
            <officer><![CDATA[]]></officer> 
            <classified>1</classified> 
            <eligibility>0</eligibility> 
        </items> 
        <items isTrunk="true" title="二级标题2.2"> 
            <item title="三级标题2.2.1" id="item_1"> 
                <result type="1">2</result> 
                <officer><![CDATA[居然是乱码]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
            <item title="三级标题2.2.2" id="item_2"> 
                <result type="1">3</result> 
                <officer><![CDATA[<><>]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
        </items>             
        <items isTrunk="true" title="二级标题2.3"> 
            <item title="三级标题2.3.1" id="item_3"> 
                <result type="2">1</result> 
                <officer><![CDATA[]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
            <item title="三级标题2.3.2" id="item_4"> 
                <result type="2">1</result> 
                <officer><![CDATA[]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
        </items>             
    </project> 
    <project title="一级标题3" index="3"> 
        <items isTrunk="false" title="二级标题3.1" id="items_4"> 
            <result type="4" units="元">25345</result> 
            <officer><![CDATA[sinoly]]></officer> 
            <classified>1</classified> 
            <eligibility>0</eligibility> 
        </items> 
        <items isTrunk="false" title="二级标题3.2" id="items_5"> 
            <result type="4" units="元">9865764</result> 
            <officer><![CDATA[]]></officer> 
            <classified>1</classified> 
            <eligibility>0</eligibility> 
        </items> 
        <items isTrunk="false" title="二级标题3.3" id="items_6"> 
            <result type="2">0</result> 
            <officer><![CDATA[]]></officer> 
            <classified>1</classified> 
            <eligibility>0</eligibility> 
        </items> 
        <items isTrunk="true" title="二级标题3.4"> 
            <item title="三级标题3.4.1" id="item_5"> 
                <result type="1">0</result> 
                <officer><![CDATA[]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
            <item title="三级标题3.4.2" id="item_6"> 
                <result type="1">0</result> 
                <officer><![CDATA[]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
            <item title="三级标题3.4.3" id="item_7"> 
                <result type="1">0</result> 
                <officer><![CDATA[]]></officer> 
                <classified>1</classified> 
                <eligibility>0</eligibility> 
            </item> 
        </items> 
    </project> 
</projects>

2.example.xsl--样式文件,很方便的取到xml数据

<?xml version="1.0" encoding="gb2312"?> 
<xsl:stylesheet version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <!--根模板-->     
    <xsl:output method="xml"/> 
    <xsl:template match="/">     
        <xsl:apply-templates select="projects/project"/> 
        <h6> 
            <button type="submit" class="btn1_mouseout" onmouseover="this.className=&#39;btn1_mouseover&#39;" onmouseout="this.className=&#39;btn1_mouseout&#39;" title="提交"> 下一步</button> 
        </h6> 
    </xsl:template> 
    <!--主题模板--> 
    <xsl:template match="project"> 
        <TABLE border="0" cellspacing="0" cellpadding="0" class="table"> 
            <tr> 
                <td colspan="5" align="center" class="tright"> 
                    <h2> 
                        <xsl:number value="position()" format="一、"/><xsl:value-of select="@title"/> 
                    </h2> 
                </td> 
            </tr> 
            <xsl:apply-templates select="items"/> 
        </TABLE> 
        <BR/> 
    </xsl:template> 
    <!--一级题干模板--> 
    <xsl:template match="items"> 
        <tr> 
            <td colspan="2" class="tright"> 
                <xsl:number value="position()" format="1."/><xsl:value-of select="@title"/> 
            </td> 
            <xsl:choose> 
                <xsl:when test="@isTrunk[.=&#39;false&#39;]"> 
                    <xsl:apply-templates select="result"/> 
                    <xsl:apply-templates select="officer"/> 
                </xsl:when> 
                <xsl:otherwise> 
                    <td colspan="3" class="tright" style="color:blue;font-weight:bolder"> 
                        注意以下几点 
                    </td> 
                    <xsl:apply-templates select="item"/> 
                </xsl:otherwise> 
            </xsl:choose> 
        </tr> 
    </xsl:template> 
        <!--二级题干模板--> 
    <xsl:template match="item"> 
      <tr> 
        <td class="tright" style="padding-left:20px" colspan="2"> 
            <h4><xsl:number value="position()" format="(a)."/><xsl:value-of select="@title"/></h4> 
        </td> 
            <xsl:apply-templates select="result"/> 
            <xsl:apply-templates select="officer"/> 
      </tr> 
    </xsl:template> 
    <!--选择框模板--> 
    <xsl:template match="result"> 
                    <xsl:choose> 
                        <xsl:when test="@type = &#39;1&#39;"> 
                            <td width="15%"> 
                            <xsl:element name="select"> 
                                <xsl:attribute name="name">re_<xsl:value-of select="../@id"/></xsl:attribute> 
                                <!--<select name="select">--> 
                                    <xsl:choose> 
                                        <xsl:when test=".=&#39;0&#39;"> 
                                            <option value="0" selected="selected">请选择 </option> 
                                            <option value="1">符合</option> 
                                            <option value="2">基本符合</option> 
                                            <option value="3">不符合</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;1&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1" selected="selected">符合</option> 
                                            <option value="2">基本符合</option> 
                                            <option value="3">不符合</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;2&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1">符合</option> 
                                            <option value="2" selected="selected">基本符合</option> 
                                            <option value="3">不符合</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;3&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1">符合</option> 
                                            <option value="2">基本符合</option> 
                                            <option value="3" selected="selected">不符合</option> 
                                        </xsl:when>                                         
                                    </xsl:choose> 
                                    <!--</select>--> 
                                </xsl:element> 
                            </td> 
                        </xsl:when> 
                        <xsl:when test="@type = &#39;2&#39;"> 
                            <td width="15%"> 
                                <xsl:element name="select"> 
                                <xsl:attribute name="name">re_<xsl:value-of select="../@id"/></xsl:attribute> 
                                    <xsl:choose> 
                                        <xsl:when test=".=&#39;0&#39;"> 
                                            <option value="0" selected="selected">请选择 </option> 
                                            <option value="1">是</option> 
                                            <option value="2">否</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;1&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1" selected="selected">是</option> 
                                            <option value="2">否</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;3&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1">是</option> 
                                            <option value="2" selected="selected">否</option> 
                                        </xsl:when>                         
                                    </xsl:choose> 
                                </xsl:element> 
                            </td> 
                        </xsl:when> 
                        <xsl:when test="@type = &#39;3&#39;"> 
                            <td width="15%"> 
                                <xsl:element name="select"> 
                                <xsl:attribute name="name">re_<xsl:value-of select="../@id"/></xsl:attribute> 
                                    <xsl:choose> 
                                        <xsl:when test=".=&#39;0&#39;"> 
                                            <option value="0" selected="selected">请选择 </option> 
                                            <option value="1">有</option> 
                                            <option value="2">无</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;1&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1" selected="selected">有</option> 
                                            <option value="2">无</option> 
                                        </xsl:when> 
                                        <xsl:when test=".=&#39;3&#39;"> 
                                            <option value="0">请选择 </option> 
                                            <option value="1">有</option> 
                                            <option value="2" selected="selected">无</option> 
                                        </xsl:when>                         
                                    </xsl:choose> 
                                </xsl:element> 
                            </td> 
                        </xsl:when> 
                        <xsl:otherwise> 
                            <td width="15%"> 
                            <xsl:element name="textarea"> 
                                <xsl:attribute name="name">re_<xsl:value-of select="../@id"/></xsl:attribute><xsl:value-of select="."/> 
                            </xsl:element> 
                                <xsl:value-of select="@units"/> 
                            </td> 
                        </xsl:otherwise> 
                    </xsl:choose> 
    </xsl:template> 
        <!--责任人模板--> 
    <xsl:template match="officer"> 
        <td width="9%" class="tright">责任人</td> 
        <td width="11%"> 
        <xsl:element name="textarea"> 
            <xsl:attribute name="name">of_<xsl:value-of select="../@id"/></xsl:attribute> 
            <xsl:value-of select="."/> 
        </xsl:element> 
        </td> 
    </xsl:template> 
</xsl:stylesheet>

当前1/2页 12下一页阅读全文

以上是通过javascript xml xsl取值及数据修改第1/2页的实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn