• 締切済み

JavaScriptによるXML読み込み

ASP.Netである操作をした際、JavaScriptのリソースファイル(JSファイル)のXML読み込み関数を呼び、XMLデータを取得しようとしていますがうまくいく場合といかない場合があり困っています。 XMLのloadでエラーとなっているようなのですがその原因と対処法がわかりません。 どうか詳しい方がいましたら教えて下さい。 ちなみにソースは以下の通りです。 ---------------------------------------------------- var objXML = new ActiveXObject('microsoft.XMLDOM'); objXML.async = false; objXML.load('../../../XMLFile/XMLファイル名'); ---------------------------------------------------- parseError情報ではエラーコードが"-2146697210"です。 load関数でうまくいったりいかなかったりです。 ちなみにXMLファイルは上記のように相対パス指定で行ってます。 以上、お願いします。

みんなの回答

回答No.1

XMLデータがおかしいというのは考えられませんか?

関連するQ&A

  • javaScriptからxmlファイルを読み込みたい。

    strutsで開発を行ってるのですが、javaScriptからweb.xmlに設定してあるsession-timeoutの時間を取得したいのです。 javaScriptからxmlファイルをparseできるみたいで、ネットを参考に書いてみたのですが。うまく動きません・・・以下がソースです。 jsファイルをweb.xmlと同じ階層において試したのですが 、うまく読み込めていないようなのです。どなたかご教授お願いできないでしょうか? javaScriptからweb.xmlを読み込むことは不可能なのでしょうか? ちなみにブラウザはIE6.0以上限定です。 function readXML(){ xml_doc = new ActiveXObject("Microsoft.XMLDOM"); xml_doc.async = false; if(xml_doc.load("web.xml")){ alert("success!"); }else{ alert("error!"); } }

  • javascriptでXML IEとfireFox

    作成中のホームページで、条件を入力させてその条件に合ったデータ(XMLで管理)を表示する という内容のモノを作ろうとしています。 実際に一通り動く所までは出来たのですが、IEでしか動作せず Firefox等の他ブラウザだと動作しません。 調べてみると、ActiveXObjectが使えないようなのですが どういう方法で実装すると動作するようになるのでしょうか。 よろしくお願いします。 ----------以下ソース一部---------- // ワーク用の XML ドキュメントオブジェクト var objDocWk = new ActiveXObject("Msxml2.DOMDocument.3.0") // 出力用の新しいルートノードを作成 dstNd = objDocWk.createNode(1, "list", "") // XML ドキュメントオブジェクト生成 var objDoc = new ActiveXObject("Msxml2.DOMDocument.3.0") objDoc.async = false objDoc.load("msch.xml") var objRootNode = objDoc.documentElement.childNodes =======================補足======================= 下記のようにやってみたのですが、jsのエラーが起り原因がわからないです。※fireFoxのみIEでは動作確認済 if (window.ActiveXObject) { //for IE // XML ドキュメントオブジェクト生成 var objDoc = new ActiveXObject("Msxml2.DOMDocument.3.0") objDoc.async = false // 曲情報の読込み objDoc.load("msch/msch.xml") // ワーク用の XML ドキュメントオブジェクト var objDocWk = new ActiveXObject("Msxml2.DOMDocument.3.0") } else { //for Firefox // XML ドキュメントオブジェクト生成 var xhttp = new XMLHttpRequest(); xhttp.open("GET", "msch/msch.xml", false); xhttp.send(null); var objDoc = xhttp.responseText; window.alert(objDoc); // ワーク用の XML ドキュメントオブジェクト var xhttp2 = new XMLHttpRequest(); xhttp2.open("GET", "msch/msch.xml", false); xhttp2.send(null); var objDocWk = xhttp2.responseText; window.alert(objDocWk); } // 出力用の新しいルートノードを作成 dstNd = objDocWk.createNode(1, "musiclist", "") // 曲情報のルートノードを取得 var objRootNode = objDoc.documentElement.childNodes エラー内容が objDocWk.createNode is not a function  と objDoc.documentElement is undefined   です。

  • javascriptのxml読み込みFireFoxにて

    htmlで外部javascriptを読み込んでxmlの読み込みをしています。 htmlは <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>無題ドキュメント</title> <script language="JavaScript" src="xmlSearch.js"></script> </head> <body onload="display()"> <div id="poem" align="center"></div> </body> </html> です。 javascriptは function display() { if(document.all){ xml_doc = new ActiveXObject("Microsoft.XMLDOM"); }else{ xml_doc = document.implementation.createDocument("", "", null); } xml_doc .async = false; xml_doc.load("flv.xml"); var root = xml_doc.documentElement; var book = root.childNodes; document.getElementById("poem").innerHTML = book.item(0).text; } xmlは <?xml version="1.0" encoding="UTF-8"?> <video> <pass>flv/video1.flv</pass> </video> です。 しかしこれだとFireFoxでは何も表示されません。 どなたか原因が分かる方いませんか?

  • XMLの取り込み方法の違いについて教えて下さい。

    IE以外のブラウザーで、XMLファイルを読み込みXMLとして処理したい時 /* XMLHttpRequestの場合*/ str = "sitemap.xml"; objXML = new XMLHttpRequest(); objXML.open("GET",str, false ); objXML.send( "" ); xml = objXML.responseXML; として取り込むのと /* document.implementation.createDocumentの場合*/ str = "sitemap.xml"; objXML = document.implementation.createDocument("", "", null); objXML.async = false; objXML.load(str); として取り込むのとの違いについて教えて下さい。 XMLHttpRequestはHTTP通信を使うとあったのですが、意味がよくわかりません。 XMLHttpRequestでもクロスドメインアクセスは出来ないので、ドメインローカルに あるxmlファイルしか取り込めないはずです。後者の場合strに"http://xxxx/xxxx?" みたいなURIで要求を出せないと意味なのでしょうか? それから、これらはIE以外(Netscape,Firefox,Opera,Safari,)では みんな同じ仕様なのでしょうか?

  • Javascriptでxmlファイルを読み込もうとしているのですがXP

    Javascriptでxmlファイルを読み込もうとしているのですがXPではできたのですがVistaで実行したら以下の部分が動作しないようです。セキュリティなどの設定などが問題なのでしょうか?改善方法がありましたら教えてください。 doc = ActiveXObject("Microsoft.XMLDOM");

  • XML を JavaScript で表示したい

    初心者です。XML の属性を JS で表示したいのですが、属性の表示をJSで記入すると属性部分(?)が「null」と表示されるだけで元の XML の内容が正しく反映されません。以下、html のコメントした部分が自分の足したコードですが、何が間違っているのかご教示いただけると有り難いです。宜しくお願いします。 ---XML-[orders.xml]------------------ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE orders SYSTEM "orders.dtd"> <orders> <order> <customerid limit="1000">1111111</customerid> <status>発送済み</status> <item instock="Y" itemid="SA15"> <name>商品名ABC</name> <price>825.00</price> <qty>1</qty> </item> </order> </orders> ---/XML------------------- ---DTD--[orders.dtd]----------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE orders SYSTEM "orders.dtd"> <orders> <order> <customerid limit="1000">1111111</customerid> <status>発送済み</status> <item instock="Y" itemid="SA15"> <name>商品名ABC</name> <price>825.00</price> <qty>1</qty> </item> </order> </orders> ---/DTD------------------- ---html--[hoge.html]----------------- <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "​http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">​ <html xmlns = "​http://www.w3.org/1999/xhtml">​ <head> <title>A Parser Test</title> <script type="text/javascript"> var tab="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" function printElement(indent, node) { var i; if (node.nodeType == 3) {document.write("<br />" +indent + node.nodeValue); document.write("<br />" +indent + "attributes: "+ node.attributes);} <!--この1行を足しました。誤動作しています(TT)--> else { document.write("<br />" +indent + "[" + node.Name + "]"); for (i = 0; i < node.childNodes.length; i++) { printElement(indent+tab, node.childNodes[i]); } document.write("<br />" +indent + "[/" + node.nodeName + "]"); } } var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("orders.xml") if (xmlDoc.parseError.errorCode != 0) { document.write("<br />Error Code: "); document.write(xmlDoc.parseError.errorCode); document.write("<br />Error Reason: "); document.write(xmlDoc.parseError.reason); document.write("<br />Error Line: "); document.write(xmlDoc.parseError.line); document.write("<br />"); } else { document.write("<strong>ファイルはパーサーを通りました</strong><br />"); document.write("<p /><h1>ツリー構造の表示</h1><p />") printElement("", xmlDoc.documentElement); } </script> </head> <body> </body> </html> ---/html-------------------

  • javascriptとDOMを使ったxmlの読み込みがうまくいかない

    「10日でおぼえるxml入門教室」をいう書籍を使って、xmlの勉強を始めたのですが、ダウンロードした本の内容のソースコードを実行しても想定された結果になりません。そのコードは <html> <head> <title>5-1.XML文書を読み込んでみる</title> <script language="JavaScript"> <!-- var objDoc=new ActiveXObject("Msxml2.DOMDocument"); objDoc.async=false; objDoc.load("books.xml"); window.alert(objDoc.xml); //--> </script> </head> <body> <h1>5-1.XML文書を読み込んでみる</h1> </body> </html> というもので、本来xml文書を表示したダイアログが出るはずなのですが、ブラウザで開いてもダイアログが出ずに、いきなり見出し字が表示されるだけです。 環境はMacOS10.5.5, 使用したブラウザはSafari, Firefox, Operaです。 そもそもIEでないと実行できないコードなのでしょうか? javascriptに関しても初心者なので、できるだけわかりやすい言葉で説明していただけるとありがたいです。

    • 締切済み
    • XML
  • XML の属性部分を JavaScript で表示したい (誤動作してます)

    初心者です。XML の属性を JS で表示したいのですが属性の表示をJSで記入すると属性部分(?)が「null」と表示されるだけで元の XML の内容が正しく反映されません。何が間違っているのかご教示いただけると有り難いです。宜しくお願いします。 ---XML-[orders.xml]------------------ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE orders SYSTEM "orders.dtd"> <orders> <order> <customerid limit="1000">1111111</customerid> <status>発送済み</status> <item instock="Y" itemid="SA15"> <name>商品名ABC</name> <price>825.00</price> <qty>1</qty> </item> </order> </orders> ---/XML------------------- ---DTD--[orders.dtd]----------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE orders SYSTEM "orders.dtd"> <orders> <order> <customerid limit="1000">1111111</customerid> <status>発送済み</status> <item instock="Y" itemid="SA15"> <name>商品名ABC</name> <price>825.00</price> <qty>1</qty> </item> </order> </orders> ---/DTD------------------- ---html--[hoge.html]----------------- <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title>A Parser Test</title> <script type="text/javascript"> var tab="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" function printElement(indent, node) { var i; if (node.nodeType == 3) {document.write("<br />" +indent + node.nodeValue); document.write("<br />" +indent + "attributes: "+ node.attributes);} <!--この1行を足しました。誤動作しています(TT)--> else { document.write("<br />" +indent + "[" + node.Name + "]"); for (i = 0; i < node.childNodes.length; i++) { printElement(indent+tab, node.childNodes[i]); } document.write("<br />" +indent + "[/" + node.nodeName + "]"); } } var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("orders.xml") if (xmlDoc.parseError.errorCode != 0) { document.write("<br />Error Code: "); document.write(xmlDoc.parseError.errorCode); document.write("<br />Error Reason: "); document.write(xmlDoc.parseError.reason); document.write("<br />Error Line: "); document.write(xmlDoc.parseError.line); document.write("<br />"); } else { document.write("<strong>ファイルはパーサーを通りました</strong><br />"); document.write("<p /><h1>ツリー構造の表示</h1><p />") printElement("", xmlDoc.documentElement); } </script> </head> <body> </body> </html> ---/html-------------------

    • 締切済み
    • XML
  • JavaScript側でのXML作成の方法

    JavaScript側でのXML作成の方法 Ajax開発の経験は始めてなので勝手がわかっていないのですが やりたい事はサーバー側からXMLデータを取得して JavaScript側でXMLを編集してサーバーに書き戻すような事がしたいのです。 このような場合、DOMツリーをXMLファイルにシリアライズするには IEだとActiveXObject("Microsoft.XMLDOM")、FireFoxだとXMLSerializer()を使うと いったようにブラウザごとに処理を分けねばなりません。 これは面倒なのであまりやりたくありません。 あとはベタなテキストとして var xml = "<?xml version='1.0' encoding='utf-8'?>" + "<root><element>test</element></root>" と書いていくくらいしか思いつかないのですが ブラウザ間ごとの違いを吸収してくれる XML編集用の便利なJavaScriptライブラリなどは存在したりするものでしょうか? (jQueryなどがそうのような機能を内包してたりする?) 少し調べてみた限りでは無さそうに感じたのですが 処理としてはよくありそうな事なのでお聞きしてみました。

  • flashでPHPファイル(実際は該当するxmlを呼ぶ)を読み込む方法について

    FLASH(AS2.0)でPHPファイル(実際は該当するxmlを呼ぶ)を読み込むようにするにはどのようにしたらいいのですか? 現状では、ローカルのxmlファイルを読み込むように、 下記のように書いてあります。 var objXML:XML = new XML(); objXML.ignoreWhite = true; objXML.onLoad = function(success:Boolean):Void { if(success) { loadXML(this); } } var menuArray:Array = new Array(); // function loadXML(objXML:XML):Void { var dataNode:XMLNode = objXML.firstChild; var menuNodes:Array = dataNode.childNodes; for(var i:Number = 1; i <= menuNodes.length; i++) { var menuNode:XMLNode = menuNodes[i-1].childNodes; var Name:String = menuNode[0].firstChild.nodeValue; menuArray[i] = { title:Name}; } myVars(menuArray); } objXML.load("sample.xml"); この状態から、外部<http://aaaa/sample.php>URLに アクセスして、PHPファイルを読み込むにはどのようにしたら よいのか全くわかりません。 objXML.load("sample.xml"); 上記の()の中に直接URLを挿入すると、 ローカルでは確認できるのですが、 ファイルをアップすると、まったく読み込めてはいません。 ActionScriptは全くわからないので、ご教授よろしくお願いいたします。