javascript如何读取xml?
<p>JavaScript读取xml的方法:使用DOMParser对象解析XML文本并返回一个XML Document对象。然后调用parseFromString()方法读取。</p><p> </p>
<p>JavaScript读取xml文件:</p>
<pre><code class="hljs javascript"><span class="hljs-function"><span class="hljs-keyword">function <span class="hljs-title">loadXML(<span class="hljs-params">xmlFile){
<span class="hljs-keyword">var</span> xmlDoc=<span class="hljs-literal">null;
<span class="hljs-comment">//判断<span class="hljs-comment">浏览器</span><span class="hljs-comment">的类型
<span class="hljs-comment">//支持IE<span class="hljs-comment">浏览器</span>
<span class="hljs-keyword">if(!<span class="hljs-built_in">window.DOMParser && <span class="hljs-built_in">window.ActiveXObject){
<span class="hljs-keyword">var</span> xmlDomVersions = [<span class="hljs-string">'MSXML.2.DOMDocument.6.0',<span class="hljs-string">'MSXML.2.DOMDocument.3.0',<span class="hljs-string">'Microsoft.XMLDOM'];
<span class="hljs-keyword">for(<span class="hljs-keyword">var i=<span class="hljs-number">0;i<xmlDomVersions.length;i++){
<span class="hljs-keyword">try{
xmlDoc = <span class="hljs-keyword">new ActiveXObject(xmlDomVersions);
<span class="hljs-keyword">break;
}<span class="hljs-keyword">catch(e){
}
}
}
<span class="hljs-comment">//支持Mozilla浏览器
<span class="hljs-keyword">else <span class="hljs-keyword">if(<span class="hljs-built_in">document.implementation && <span class="hljs-built_in">document.implementation.createDocument){
<span class="hljs-keyword">try{
<span class="hljs-comment">/* document.implementation.createDocument('','',null); 方法的三个参数说明
* 第一个参数是包含文档所使用的命名空间URI的字符串;
* 第二个参数是包含文档根元素名称的字符串;
* 第三个参数是要创建的文档类型(也称为doctype)
*/
xmlDoc = <span class="hljs-built_in">document.implementation.createDocument(<span class="hljs-string">'',<span class="hljs-string">'',<span class="hljs-literal">null);
}<span class="hljs-keyword">catch(e){
}
}
<span class="hljs-keyword">else{
<span class="hljs-keyword">return <span class="hljs-literal">null;
}
<span class="hljs-keyword">if(xmlDoc!=<span class="hljs-literal">null){
xmlDoc.async = <span class="hljs-literal">false;
xmlDoc.load(xmlFile);
}
<span class="hljs-keyword">return xmlDoc;
}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<p> </p>
<p>JavaScript读取xml字符串:</p>
<pre><code class="hljs javascript"><span class="hljs-function"><span class="hljs-keyword">function <span class="hljs-title">loadXMLStr(<span class="hljs-params">xmlString){
<span class="hljs-keyword">var xmlDoc=<span class="hljs-literal">null;
<span class="hljs-comment">//判断浏览器的类型
<span class="hljs-comment">//支持IE浏览器
<span class="hljs-keyword">if(!<span class="hljs-built_in">window.DOMParser && <span class="hljs-built_in">window.ActiveXObject){ <span class="hljs-comment">//window.DOMParser 判断是否是非ie浏览器
<span class="hljs-keyword">var xmlDomVersions = [<span class="hljs-string">'MSXML.2.DOMDocument.6.0',<span class="hljs-string">'MSXML.2.DOMDocument.3.0',<span class="hljs-string">'Microsoft.XMLDOM'];
<span class="hljs-keyword">for(<span class="hljs-keyword">var i=<span class="hljs-number">0;i<xmlDomVersions.length;i++){
<span class="hljs-keyword">try{
xmlDoc = <span class="hljs-keyword">new ActiveXObject(xmlDomVersions);
xmlDoc.async = <span class="hljs-literal">false;
xmlDoc.loadXML(xmlString); <span class="hljs-comment">//loadXML方法载入xml字符串
<span class="hljs-keyword">break;
}<span class="hljs-keyword">catch(e){
}
}
}
<span class="hljs-comment">//支持Mozilla浏览器
<span class="hljs-keyword">else <span class="hljs-keyword">if(<span class="hljs-built_in">window.DOMParser && <span class="hljs-built_in">document.implementation && <span class="hljs-built_in">document.implementation.createDocument){
<span class="hljs-keyword">try{
<span class="hljs-comment">/* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
* 要使用 DOMParser,使用不带参数的构造<span class="hljs-comment">函数</span><span class="hljs-comment">来实例化它,然后调用其 parseFromString() 方法
* parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本
*的内容类型
* 可能是 "text/xml" 、"application/xml" 或 "application/x<span class="hljs-comment">html</span><span class="hljs-comment">+xml" 中的一个。
*注意,不支持 "text/<span class="hljs-comment">html</span><span class="hljs-comment">"。
*/
domParser = <span class="hljs-keyword">newDOMParser();
xmlDoc = domParser.parseFromString(xmlString, <span class="hljs-string">'text/xml');
}<span class="hljs-keyword">catch(e){
}
}
<span class="hljs-keyword">else{
<span class="hljs-keyword">return <span class="hljs-literal">null;
}
<span class="hljs-keyword">return xmlDoc;
}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<p><span style="position: relative; left: -100000px">广州品牌设计公司https://www.houdianzi.com</span> <span style="position: relative; left: -100000px">PPT模板下载大全https://redbox.wode007.com</span></p>
<p>HTML代码测试:</p>
<pre><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">script <span class="hljs-attr">type=<span class="hljs-string">"text/javascript"><span class="javascript">
<span class="hljs-built_in">window.onload = <span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">){
<span class="hljs-keyword">var text = <span class="hljs-built_in">document.getElementById(<span class="hljs-string">'aaa').value;
<span class="hljs-keyword">var xmldoc=loadXMLStr(text);
<span class="hljs-keyword">var elements = xmldoc.getElementsByTagName(<span class="hljs-string">"major");
<span class="hljs-keyword">for (<span class="hljs-keyword">var i = <span class="hljs-number">0; i < elements.length; i++) {
<span class="hljs-keyword">var value = elements.getElementsByTagName(<span class="hljs-string">"class")[<span class="hljs-number">0].firstChild.nodeValue;
alert(value);
}
}
<span class="hljs-tag"></<span class="hljs-name">script>
<span class="hljs-tag"><<span class="hljs-name">textarea <span class="hljs-attr">id=<span class="hljs-string">"aaa">
<span class="hljs-tag"><<span class="hljs-name">IS>
<span class="hljs-tag"><<span class="hljs-name">year <span class="hljs-attr">time=<span class="hljs-string">"2014">
<span class="hljs-tag"><<span class="hljs-name">major <span class="hljs-attr">name=<span class="hljs-string">"Computer Science">
<span class="hljs-tag"><<span class="hljs-name">class>1401<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1402<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1403<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1404<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"></<span class="hljs-name">major>
<span class="hljs-tag"><<span class="hljs-name">major <span class="hljs-attr">name=<span class="hljs-string">"Communication Engineering">
<span class="hljs-tag"><<span class="hljs-name">class>1405<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1406<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1407<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1408<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"></<span class="hljs-name">major>
<span class="hljs-tag"></<span class="hljs-name">year>
<span class="hljs-tag"><<span class="hljs-name">year <span class="hljs-attr">time=<span class="hljs-string">"2013">
<span class="hljs-tag"><<span class="hljs-name">major <span class="hljs-attr">name=<span class="hljs-string">"Computer Science">
<span class="hljs-tag"><<span class="hljs-name">class>1301<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1302<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1303<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1304<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"></<span class="hljs-name">major>
<span class="hljs-tag"><<span class="hljs-name">major <span class="hljs-attr">name=<span class="hljs-string">"Communication Engineering">
<span class="hljs-tag"><<span class="hljs-name">class>1305<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1306<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1307<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"><<span class="hljs-name">class>1308<span class="hljs-tag"></<span class="hljs-name">class>
<span class="hljs-tag"></<span class="hljs-name">major>
<span class="hljs-tag"></<span class="hljs-name">year>
<span class="hljs-tag"></<span class="hljs-name">IS>
<span class="hljs-tag"></<span class="hljs-name">textarea</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre><br><br>
来源:https://www.cnblogs.com/qianxiaox/p/14085786.html
頁:
[1]