javascript
  • xpath
  • 2012-05-09 4 views 3 likes 
    3

    なぜこのコードが私にIEで次のエラーを出すのですか: "不明なメソッド// author [@select = - > concat( 'tes' < - 、 'ts' )]?IE9上のJavaScript。 XMLDOM.selectSingleNodeは未知のメソッド - > concatを返します

    function a() 
    { 
        try 
        { 
         var xml ='<?xml version="1.0"?><book><author select="tests">blah</author></book>'; 
    
    
         var doc = new ActiveXObject("Microsoft.XMLDOM"); 
         doc.loadXML(xml); 
    
         node = doc.selectSingleNode("//author[@select = concat('tes','ts')]"); 
         if(node == null) 
         { 
          alert("Node is null"); 
         } 
         else 
         { 
          alert("Node is NOT null"); 
         } 
        } catch(e) 
        { 
         alert(e.message); 
        } 
    } 
    
    +0

    読みやすいようにエラーメッセージを修正してください。 'concat'は関数ですか? – Madbreaks

    答えて

    5

    まあMicrosoft.XMLDOMは時代遅れのプログラミングIDであり、あなたは、デフォルトではXPath 1.0のではなく、古い、決して標準化されたドラフト版をサポートしていません古いMSXMLのバージョンで終わる。MSXML 6は一部であり、これらの日マイクロソフトがサポートしている最新のサービスパックがインストールされているOSまたはOSのMSXML 6 DOMドキュメントを使用することを検討してください。

     var xml ='<?xml version="1.0"?><book><author select="tests">blah</author></book>'; 
    
        var doc = new ActiveXObject("Msxml2.DOMDocument.6.0"); 
        doc.loadXML(xml); 
    
         node = doc.selectSingleNode("//author[@select = concat('tes','ts')]"); 
         if(node == null) 
         { 
          alert("Node is null"); 
         } 
         else 
         { 
          alert("Node is NOT null"); 
         } 
    

    Microsoft.XMLDOMを使用する場合は、と呼び出す前に、selectSingleNodeまたはselectNodesのXPath 1.0を使用するように呼び出す前に呼び出してください。

    関連する問題