我需要在服务器端解析上传的 XML 文档。现在我有一些可以在客户端运行的代码,但我想将它移到服务器端。我的客户端使用 FileReader API,其代码如下所示:
reader.onload = function (e) {
var InnerLibrary = new String(e.target.result);
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(InnerLibrary, "text/xml");
console.log("start of xmlDoc console log");
console.log(xmlDoc);
console.log("end of xmlDoc console log");
$(xmlDoc).find('book').each(function () {
console.log("book Found");
console.log(($(this).attr("year")));
version = ($(this).attr("year"));
});
现在,我被引导使用 libxmljs,因为我现在似乎找不到其他一些 SO 问题。但是那个人说libxmljs会更好,因为那样我可以使用find()遍历XML DOM对象,这暗示你不能在xml2js中这样做。
我尝试了 libxmljs,但由于某种原因,它导致了我在此问题中指出的问题: The question where libxmljs cause questions
所以我问,我可以在xml2js中使用这种遍历方法吗? (我的意思是,使用 .find() .each() .attr(),基本上所有用到的东西)
如果不是,我应该用什么方法来查找数据?
更新:我昨天尝试使用 xml2js,结果它不会从 xml 文件解析为字符串,它只会从字符串中解析 xml。所以一个额外的问题是:
奖励:我可以在服务器端使用 FileReader API 吗?