【问题标题】:Convert XML Option element nodes to HTML Option tags将 XML Option 元素节点转换为 HTML Option 标签
【发布时间】:2011-04-29 16:14:00
【问题描述】:

是否有直接将元素对象转换为 HTMLOption 对象的方法? 假设我有这个 XML:

<?xml version='1.0'?>
    <options>
        <option value="1">Hello1</option>
        <option value="2">Hello2</option>
    </options>

我想在这个选择中插入每个选项

有没有办法直接将这些 XML 转换为选项,或者我必须导航 XML 然后获取我需要的所有信息,然后创建一个新选项并将该选项添加到选择中? 类似:

var options = XmlCode.getElementsByTagName('option');
for(var i = 0; i < options.length; i++){
    selectBox.add(options[i]);
}

作为本机代码会很好^^ 注意:我不想使用任何库或框架。我想自己学习并做到这一点。

【问题讨论】:

    标签: dom xslt-1.0 transformation xml-namespaces xmldom


    【解决方案1】:

    XSLT 用于 XML 到 HTML 的转换。像这样的东西可以解决问题:

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="select2option.xml" ?>
    <xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:html="http://www.w3.org/1999/xhtml"
                >
    
    <xsl:output method="html" encoding="utf-8" indent="yes" standalone="yes" media-type="text/html" omit-xml-declaration="yes" doctype-system="about:legacy-compat" />
    
    <html:options>
      <html:option name="foo">bar</html:option>
    </html:options>
    
    <xsl:template match="xsl:stylesheet">
      <xsl:apply-templates/>
    </xsl:template>
    
    <xsl:template match="/">
     <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
      </head>
      <body>
        <xsl:apply-templates/>
      </body>
     </html>
    </xsl:template>
    
    <xsl:template match="html:options">
     <select>
      <xsl:apply-templates />
     </select>
    </xsl:template>
    
    <xsl:template match="html:option">
     <option name="@name">
      <xsl:apply-templates />
     </option>
    </xsl:template>
    </xsl:stylesheet>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-06
      • 2016-08-10
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      相关资源
      最近更新 更多