用于创建动态HREF和JavaScript的JavaScript代码从XML文件中锚定文本

时间:2013-03-08 08:20:35

标签: javascript html xml-parsing anchor href

我希望能够通过使用href访问包含目录结构的JavaScript文件来在div中创建XML个链接。我还希望将文件名显示为每个链接的锚文本。链接将重新呈现的html(包含内联JavaScript),xml文件和内容文件将自动从Windows服务器同步到Android平板电脑,因此无法使用服务器端代码。

我设法在运行某些Java代码的服务器上设置自动化任务,以创建XML文件/ Windows目录结构。然后,这将与内容和html文件一起同步到Android设备 div中显示的链接数量会随着新文件添加到文件夹而旧文件被删除而改变。

点击以下链接即可访问XML文件的摘录。 从一些研究来看,似乎我将不得不使用xpath,因为从下面的XML我想为所有具有以

开头的absolutePath属性的文件创建href链接
  

" C:\ MyFolder \ Clients \ Client1(114)\ Planograms \"。

然后我想要链接的锚文本显示每个文档的文件名,以便用户知道哪个是。

非常感谢任何帮助。

Example XML File

1 个答案:

答案 0 :(得分:0)

您应该向文件添加有效的XML标头,例如<?xml version="1.0"?> 您使用浏览器运行Javascript吗? 在这种情况下,您可能希望使用jQuery(http://jquery.com)。 您的HTML和Javascript文件可能如下所示:

    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>
    <body>
<ul id="filelist">
</ul>
    <script>
$.ajax({
url: "http://yourajaxservice",
cache: false
}).done(function( xml ) {
    xmlDoc = $.parseXML( xml );
    $xml = $( xmlDoc );
    $xml.find( "directory" ).each(function() {
            $(this).find("file").each(function() {
                    var currentFileName=$(this).attr("name");
                    var currentPath=$(this).attr("absolutePath");
                    if (currentPath.startsWith("C:\MyFolder\Clients\Client1 (114)\Planograms\")) {
                        $("#filelist").append("<li><a href='"+currentPath+"'>"+currentFileName+"</a></li>");
                   }
           });
   });

});

    </script>
    </body>
</html>