【问题标题】:How to create a dropdownlist from an XML file?如何从 XML 文件创建下拉列表?
【发布时间】:2011-05-01 21:18:46
【问题描述】:

有人告诉我,HTML 可能会使用...

 <select> element with <option children>

而且为了获取属性值以使用此代码,它可以使用...

elementNode.attributes.item(0).nodeValue

这是我需要从中提取国家和费率的 XML 文件格式。

<?xml version="1.0" encoding="utf-8" ?>
<exchangeRates>
<rate country="aud" >0.97</rate>
<rate country="usd" >1.01</rate>
</exchangeRates>

我需要下拉列表显示国家和汇率,就像这样..

aud    0.97
usd    1.01

我真的很挣扎。我尝试在 asp.net 中进行操作,但下拉列表只会显示一个值(aud、usd)。

一旦列表正常工作,我需要它默认显示“当前费率”,并且在显示列表时不会再次出现。还有一个 tabindex 1 或 2 所以默认情况下它没有被选中。

非常感谢任何帮助/提示!

【问题讨论】:

  • 所以你想要一个像下面这样的选择吗? &lt;select&gt; &lt;option value="0.97"&gt;oud&amp;nbsp;&amp;nbsp;&amp;nbsp;0.97&lt;/option&gt; &lt;option value="1.01"&gt;usd&amp;nbsp;&amp;nbsp;&amp;nbsp;1.01&lt;/option&gt; &lt;/select&gt;
  • 如果它有效,我想要任何东西:D
  • 所以让我们做对了。为您提供了一个包含上述格式的汇率的 xml 文件(您无法控制这种格式?)。您需要显示国家和汇率([country] [rate])并将值设置为汇率的下拉列表。
  • 是的,xml 文件就是这种格式,无法更改。是的,我需要一个下拉列表,最好在 .aspx 文件中显示这两件事。还要让它在默认情况下显示“当前费率”并且一旦列表加载,“当前费率”就不会再次出现。任何帮助是极大的赞赏!! :D
  • 下次,请不要添加“帮助!”等。你的问题(标题)。我们已经知道您需要我们的帮助,否则您不会在这里提问。顺便说一句,你到底想要什么?您想在 JavaScript 中执行此操作但写入 .aspx 文件?你真的知道服务器端脚本和客户端脚本的区别吗?

标签: javascript html xml drop-down-menu


【解决方案1】:

您可以使用 XSLT 将 XML 转换为 HTML 下拉列表。 这是javascript:

function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
xml=loadXMLDoc("rates.xml");
xsl=loadXMLDoc("dropdown.xsl");
// code for IE
if (window.ActiveXObject)
  {
  ex=xml.transformNode(xsl);
  document.getElementById("example").innerHTML=ex;
  }
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
  {
  xsltProcessor=new XSLTProcessor();
  xsltProcessor.importStylesheet(xsl);
  resultDocument = xsltProcessor.transformToFragment(xml,document);
  document.getElementById("example").appendChild(resultDocument);

rates.xml 是你的 xml 文件,上面写满了利率,就像上面一样。

其中 dropdown.xsl 是您的 xsl 转换文件:

  <select>
      <xsl:for-each select="exchangeRates/rate">
     <option><xsl:value-of select="@country" />&nbsp;&nbsp;<xsl:value-of select="." /></option>
      </xsl:for-each>
 </select

</xsl:template>
</xsl:stylesheet>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    相关资源
    最近更新 更多