当前位置: 首页 > Web前端 > HTML

js格式化xml并突出显示关键字

时间:2023-04-02 20:43:26 HTML

w3schoolXMLDOM-DOMParser对象DOMParser解析XML标记以创建文档。构造函数newDOMParser()DOMParser对象解析XML文本并返回一个XMLDocument对象。要使用DOMParser,使用不带参数的构造函数实例化它,然后调用它的parseFromString()方法:vardoc=(newDOMParser()).parseFromString(text)IE不支持DOMParser对象。相反,它支持使用Document.loadXML()进行XML解析。DOMParser.parseFromString()解析XML标记语法parseFromString(text,contentType)text参数是要解析的XML标记。contentType是文本的内容类型。可能是"text/xml"、"application/xml"或"application/xhtml+xml"之一。请注意,不支持“text/html”。实际js//格式化xml高亮formatXml=function(content){letxml_doc=null;constformatContent=content.replace(/[\n\r]/g,"");尝试{xml_doc=(newDOMParser()).parseFromString(formatContent,'text/xml');}catch(e){返回错误;}functionbuild_xml(list,element,level){让t=[];/*level节点级别。方方便前面添加几个空格缩小*/for(leti=0;i'+element.nodeName+'>\n');for(leti=0;i/g,'>'):'';让value_color=!isNaN(Number(value))?'代码编号':'代码字符串';让value_txt=''+值+'';让item=t+'<'+nodeName+'>'+value_txt+''+nodeName+'>\n';list.push(项目);}else{build_xml(list,element.childNodes[i],childLevel);}}list.push(t+''+element.nodeName+'>\n');}让列表=[];build_xml(列表,xml_doc.documentElement,0);返回list.join("");};CSS样式.code-string{color:green;}.code-number{color:darkorange;}.code-boolean{color:#000033;}.code-null{color:magenta;}.code-key{color:#003377;font-weight:bold;}eg.xml格式'?0.0.1article2018-12-2515:05:001<NodeList>???63?-66480150.1020580000000000000??6363>>?-66480150.1020580000000000000=“11187043”>?63麦>'格式效果