从XML元素属性值创建Javascript动态HREF

时间:2013-05-01 13:37:11

标签: javascript xml href

我想使用javascript从xml文件的属性创建动态HTML链接。

我已经使用以下代码成功地将所需的所有xml元素atrributes(文件名)的列表写入HTML页面,但现在需要创建链接。

链接的锚文本应该是我之前使用document.write写入HTML页面的XML元素属性(文件名)。来自xml文件的其中一个文件名的示例是 MyDocument.pdf

href链接应由文本字符串前缀“file:/// sdcard / portal /”组成,然后将相同的xml元素属性(文件名)附加到构成链接的末尾。一个例子是 file:///sdcard/portal/MyDocument.pdf

我尝试过使用document.write创建链接的方法,但是我还需要在循环中使用(x [i] .getAttributeNode(“name”)。nodeValue)来返回所有属性我努力使它发挥作用。

由于

<!DOCTYPE html>
<html>
<head>
<script src="myxml-loadxmldoc.js"> 
</script>

</head>
<body>

<script>
xmlDoc=loadXMLDoc("MyDocuments.xml");
x=xmlDoc.getElementsByTagName("file");

for (i=0;i<x.length;i++)
{

document.write(x[i].getAttributeNode("name").nodeValue);
document.write("<br>");

}

</script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

试试这个,从for循环正上方开始。

var path = "file:///sdcard/portal/"; //this will be constant between all iterations
for (i=0;i<x.length;i++)
{
    var filename = x[i].getAttributeNode("name").nodeValue; //the nodefile is the filename
    document.write("<a href=" + path + filename + ">" + filename + "</a>");
    document.write("<br>");

}

这应该最终会在你的html中给你一个看起来像这样的标签:

<a href="file:///sdcard/portal/MyDocument.pdf">MyDocument.pdf</a>