我刚开始在过去3或4天内学习javascript。我试图从另一个域显示xml文件的内容。
到目前为止,我可以获得“名称”“描述”“大小”等,但我无法让脚本显示自定义字段。
我在互联网上搜索但在自定义字段上找不到任何帮助,而在名称空间上却找不到任何帮助。
注意事项
我已经发布了示例xml和我正在使用的javascript。
提前感谢您提供的任何帮助。
<products>
<product language="en">
<ns2:name>Mens Flip Flop</ns2:name>
<ns2:description>Flip Flops are comfortable and lightweight</description>
<ns2:fields>
<ns2:field name="Age">Adult</ns2:field>
<ns2:field name="Sex">Male</ns2:field>
<ns2:field name="Use">Casual</ns2:field>
<ns2:field name="Type">Flip Flops</ns2:field>
<ns2:field name="Colour">Black</ns2:field>
<ns2:field name="Size">7</ns2:field>
</ns2:fields>
<ns2:size>7</ns2:size>
</product>
<product language="en" groupingId="505">
<ns2:name>Womens Flip Flop</ns2:name>
<ns2:description>Flip Flops are comfortable</ns2:description>
<ns2:fields>
<ns2:field name="Gender">Female</ns2:field>
<ns2:field name="Use">Casual</ns2:field>
</ns2:fields>
<ns2:size>5</ns2:size>
</product>
<product language="en" groupingId="505">
<ns2:name>Womens Pink Flip Flop</ns2:name>
<ns2:description>Flip Flops are comfortable</ns2:description>
<ns2:size>5</ns2:size>
</product>
</products>
Javascript代码
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
GetURL = "apixmlurl";
xmlhttp.open("GET",GetURL,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("product");
for (i=0;i<x.length;i++)
var ProductName = getNodeValue(x[i],'name');
var ProductDescription = getNodeValue(x[i],'description');
// Get the fields here
if(ProductName > ''){document.write("<b>Name:</b> "+ProductName+"<p>");}
if(ProductDescription > ''){document.write("<b>Description:</b> "+ProductDescription+"<p>");}
if(ProductSize > ''){document.write("<b>Size:</b> "+ProductSize+"<p>");}
// Display the fields should go here
}