[英]How to create a dropdownlist from an XML file?
我被告知 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 所以默认情况下它没有被选中。
非常感谢任何帮助/提示!
您可以使用 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" /> <xsl:value-of select="." /></option>
</xsl:for-each>
</select
</xsl:template>
</xsl:stylesheet>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.