Преобразование узлов элемента XML Option в теги HTML Option - PullRequest
0 голосов
/ 29 апреля 2011

Существует ли прямое преобразование объекта элемента в объект HTMLOption?Давайте предположим, что у меня есть этот XML:

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

Я хочу вставить каждую опцию в этот выборЗатем XML получает всю необходимую мне информацию, а затем создает новый параметр и добавляет этот параметр в список выбора?что-то вроде:

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

в качестве родного кода было бы неплохо ^^ Примечание: я не хочу использовать какие-либо библиотеки или фреймворки.Я хочу учиться и делать это сам.

1 Ответ

1 голос
/ 25 апреля 2012

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>
...