2016-09-20 10 views
0

XMLファイルの属性の値を取得しようとしていますが、メッセージは常に"Object required"です。XMLの属性値DOC

私のJSコード

<!DOCTYPE html> 
    <html> 
    <body> 
    <p id="demo"></p> 
    <script 

ロードXML

 var x, i, txt; 
      try{ 
      var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
      xmlDoc.async = false; 
      xmlDoc.load("atm.xml"); 
      } 
      catch(err){ 
      alert(err.message); 
      } 

     if(!xmlDoc){ 
     alert("Error"); 
     } 

     x = xmlDoc.getElementsByTagName("softKey")[0].attributes; 
     alert(x.length); 
     txt = x.getNamedItem("speech").nodeValue + "<br>" + x.length; 
     alert(txt); 
    </script> 
    </body> 
    </html> 

とXMLファイルがあります:

 <?xml version="1.0" encoding="UTF-8"?> 
<atmPage id="000" type="null" flash="" timeout="StandardTimeout" isEpp="false" isCancel="2" isFix="2" isOk="2" langCode="some text" skin="REGULAR" inputLength="0" popupGif=""> 
    <atmSoftKeys> 
     <softKey index="1" text="some text " speech="some text" key="A" type="SOFT_KEY" langType="mu"/> 
     <softKey index="2" text="some text" speech="some text" key="B" type="SOFT_KEY" langType="mu"/> 
    </atmSoftKeys> 
    <pageTitle title="some text" titleLangType="some text"/> 
    <notification text="" notificationLangType="some text"/> 
    <atmEppKeys/> 
</atmPage> 
+0

新しいActiveXObject( "Microsoft.XMLDOM")を使用する考えはどこで得られましたか? IE 5やIE 6のような古くなった古いバージョンのIEのスクリプトを作成しようとしていますか? –

+0

ヘイ・マーティン、はい、IE6で必要です – Aleksey

答えて

0

は[OK]を、それは、簡単でした

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
     xmlDoc.async = false; 
     xmlDoc.load("Xml.xml"); 
     var x = xmlDoc.getElementsByTagName("softKey")[0].getAttribute("speech");