![](/img/trans.png)
[英]How to make sure File is read completely by FileReader using Javascript
[英]How to read XML file using FileReader javascript?
我需要從ODF文件中獲取XML。 我嘗試使用FileReader readAsText和readAsBinaryString,但無法正常工作。
FileReader readAsText返回odf文件的一些特殊字符。
與readAsBinaryString
var reader = new FileReader()
reader.onloadend=function(e){
var data = e.target.result;
//data is not in xml format
var xml = str2xml(data);
//getting error
/*
using DOM parser for xml parsing
*/
}
reader.readAsBinaryString(file);
如何使用JavaScript FileReader從ODF文件中獲取XML?
這是一個基於瀏覽器的示例,但這應適用於其他JavaScript上下文:
制作表格:
<div id="upload">
<h2>Gimme Yo ODF Cornbread</h2>
<form enctype="multipart/form-data" method="post">
<input type="file" name="odfxml" id="odfxml" />
</form>
</div>
處理上傳:(為了簡潔/簡潔,我使用了JQuery)
<script>
$("#odfxml").change(function(){
var file = document.getElementById("odfxml").files[0];
//You could insert a check here to ensure proper file type
var reader = new FileReader();
reader.readAsText(file);
reader.onloadend = function(){
var xmlData = $(reader.result);
};
});
</script>
xmldata
變量包含XML,為您的魔術做好了准備。
使用類似文本的響應:
var xml = data.replace(/[\s\S]+<\?xml/, '<?xml');
xml = xml.replace(/office:document\-meta>[\s\S]+/, 'office:document-meta>');
:)
如果您需要像jQuery對象一樣加載xml:
xml = $(xml);
那么你可以使用jQuery選擇器的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.