gpt4 book ai didi

javascript - 如何在浏览器中上传和解析XML

转载 作者:数据小太阳 更新时间:2023-10-29 02:06:02 25 4
gpt4 key购买 nike

我正在尝试在浏览器中上传一个 XML 文件,然后解析该 XML。在上传的文件上,我可以看到大小正确,但看起来没有数据。

$('#xmlForm').submit(function(event) {
event.preventDefault();
var selectedFile = document.getElementById('input').files[0];

var parser = new DOMParser();
var doc = parser.parseFromString( selectedFile, "text/xml");
console.log(doc);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="xmlForm">
<input type="file" id="input">
<input type="submit">
</form>

解析器基本上对我说:“文档是空的”

我错过了什么?

最佳答案

The parser basically says to me: "The document is empty"

What am i missing

在这一行中,您将文件传递给 parser.parseFromString 方法,该方法需要一个包含要解析的标记的字符串,而不是一个文件。

var doc = parser.parseFromString( selectedFile, "text/xml");

无论如何都不是一个完整的示例,这段代码将使用 FileReader 读取文件的内容

<!DOCTYPE html>
<html>
<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<title></title>
</head>
<body>
<form id="xmlForm" name="xmlForm">
<input id="input" type="file"> <input type="submit">
</form>
<script>
var readXml=null;
$('#xmlForm').submit(function(event) {
event.preventDefault();
var selectedFile = document.getElementById('input').files[0];
console.log(selectedFile);
var reader = new FileReader();
reader.onload = function(e) {
readXml=e.target.result;
console.log(readXml);
var parser = new DOMParser();
var doc = parser.parseFromString(readXml, "application/xml");
console.log(doc);
}
reader.readAsText(selectedFile);

});
</script>
</body>
</html>

看这个:How to read text file in JavaScript

关于javascript - 如何在浏览器中上传和解析XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44748955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com