我被告知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,因此默认情况下不会选中它。
任何帮助/提示非常感谢!!
答案 0 :(得分:0)
您可以使用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>