将javascript输出保存为textfile

时间:2013-04-11 10:09:42

标签: javascript

这是我的xml文件: -

<child_2 entity_id="2" value="Root" parent_id="1">
    <child_4 entity_id="4" value="Activities" parent_id="2">
        <child_10066 entity_id="10066" value="Physical1" parent_id="4">
            <child_10067 entity_id="10067" value="Cricket" parent_id="10066">
                <child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
            </child_10067>
        </child_10066>
        <child_10069 entity_id="10069" value="Test2" parent_id="4"/>
        <child_10070 entity_id="10070" value="Test3" parent_id="4"/>
        <child_10071 entity_id="10071" value="Test4" parent_id="4"/>
        <child_10072 entity_id="10072" value="Test5" parent_id="4"/>
        <child_5 entity_id="5" value="Physical" parent_id="4"/>
    </child_4>
</child_2>

这是我的javscript: -

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
$.get(
    "region.xml",  
    function(data)
    { xml=data; },
    "html"
);
function get_list(){
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $title = $xml.find('[entity_id="'+$('#select').val()+'"]');
    $nodes = $title.find('*');
    var result='';
    $nodes.each(function(){
        result += $(this).attr('entity_id');
        result += ',';
    });
    $("#result").html(result);
}
</script>
<input type="text" id="select">
<input type="button" name="button" value="Search" onclick="get_list()" >
<div id="result">
</div>


在这里我尝试获取所有xml属性值我成功了他们现在我想将此输出保存为textfile
怎么可能的 这个你能帮我吗...
谢谢

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

一种HTML5方式:

window.URL = window.URL || window.webkitURL;

function download(/*string*/dataToDownload, /*string*/filename) {
     var a = document.createElement('a');
     var blob = new Blob(dataToDownload, {'type':'application\/octet-stream'});
     a.href = window.URL.createObjectURL(blob);
     a.download = filename;
     a.click();
};

您还可以使用Downloadify库,它使用闪存来触发下载并允许用户命名文件。

或者最常见和安全的方法是将数据发送到php并使用正确的标题返回它,这将触发下载并允许用户命名文件

答案 2 :(得分:0)

在客户端写入文件不仅非常复杂(使用ActiveX Scripting.FileSystemObject),但由于安全原因,这也是一种不好的做法。

答案 3 :(得分:0)

如果您想要一个跨浏览器工作的解决方案,最好将数据发布到服务器,例如发布到PHP文件。然后,这个php文件可以“提供”要下载的文件。

请参阅此问题以开始使用:How to force file download with PHP