zoukankan      html  css  js  c++  java
  • JavaScript如何解析本地xml文件

    本地解析

    上传文件

    <input
        class="input"
        ref="file"
        type="file"
        @change="handleFileChange"
    />       
    

    解析file对象

    获取file对象,获取到本地url路径地址

    // 获取本地上传文件路径
    const getUploadUrl = function(flie) {
        let url = "";
        if (window.createObjectURL != undefined) {
            // basic
            url = window.createObjectURL(flie);
        } else if (window.webkitURL != undefined) {
            // webkit or chrome
            url = window.webkitURL.createObjectURL(flie);
        } else if (window.URL != undefined) {
            // mozilla(firefox)
            url = window.URL.createObjectURL(flie);
        }
        return url; // 返回这样的一串地址 blob:http://www.xxxx.com/2c230fa5-ecc4-4314-ae7c-c39eaa66a945
    };
    

    解析文件,获得xml对象

    const loadXML = function(xmlFile) {
        var xmlDom = null;
        if (window.ActiveXObject) {
            xmlDom = new ActiveXObject("Microsoft.XMLDOM");
            xmlDom.async = "false";
            xmlDom.load(xmlFile);
        } else if (
            document.implementation &&
            document.implementation.createDocument
        ) {
            var xmlhttp = new window.XMLHttpRequest();
            xmlhttp.open("GET", xmlFile, false);
            xmlhttp.send(null);
            xmlDom = xmlhttp.responseXML;
        } else {
            xmlDom = null;
        }
        return xmlDom; // 返回的是一个doucument的对象
    };
    

    document对象转字符串

    let url = getUploadUrl(file); // 文件对象
    let xml = loadXML(url);
    let text = new XMLSerializer().serializeToString(xml) // 将text赋值给textarea阔以了
    
    // 赋值文本框
    var element = document.getElementById('textarea');
    element.value  = text 
    
  • 相关阅读:
    IEEE 网址
    知乎上非常棒的机器学习专栏
    怎样认识比你优秀的人并和他们成为朋友?
    影藏铜皮,显示原点与更改
    PCB检查事项,生成钻孔表
    布局-同样模块复用
    制作DIP Package及DIP焊盘制作,不规则焊盘制作
    制作SMD Package及SMD焊盘制作
    导入网络表
    导入DXF文件
  • 原文地址:https://www.cnblogs.com/7c89/p/14938830.html
Copyright © 2011-2022 走看看