chromeでxmlをJSで表示する方法

このQ&Aのポイント
  • chromeブラウザでXMLをJavaScriptで表示する方法を教えてください
  • chromeでXMLをJSで表示する方法がわかりません。どうすればいいのでしょうか?
  • chromeでXMLファイルを読み込み、JavaScriptで表示する方法について教えてください
回答を見る
  • ベストアンサー

chromeでxmlをJSで表示するには?

chromeだとエラーで表示できません。 どうすればいいのでしょうか? window.onload=function(){ Docm = new ActiveXObject('microsoft.XMLDOM'); Docm.async = false; Docm.load('xmlsrc'); var string = ""; if(Docm.documentElement.hasChildNodes()) { var i = 0; var n_num = Docm.documentElement.childNodes.length; while (i < n_num) { string += Docm.documentElement.childNodes.item(i).text += " "; i++; } } else { string +="子ノードはありません。"; } hyouji.innerHTML = string; }

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

ActiveXObject('microsoft.XMLDOM')はIE以外は使えません。 読み込むXMLの構造が解らないので、正確な解答は出来ませんが、 汎用的にするなら、 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>Test</title> <script type="text/javascript"> //<![CDATA[ window.onload=function(){ var hyouji = document.getElementById("hyouji"); Docm = (window.ActiveXObject)?new ActiveXObject('microsoft.XMLDOM'):document.implementation.createDocument("", "", null); Docm.async = false; Docm.load('xmlsrc'); var string = ""; if(Docm.documentElement.hasChildNodes()){ var i = 0; var n_num = Docm.documentElement.childNodes.length; while (i < n_num){ if(Docm.documentElement.childNodes[i].nodeType==1){ string += Docm.documentElement.childNodes[i].childNodes[0].nodeValue; string +=" "; } i++; } }else{ string +="子ノードはありません。"; } hyouji.innerHTML = string; } //]]> </script> <body> <div id="hyouji"> </div> </body> </html> といったところでしょうか...

関連するQ&A

  • XML文書検索のエラー

    以下のコードを入力してボタンを押したところ、 エラーが出ました。どこに原因がありますか? Web ページ エラーの詳細 メッセージ: オブジェクトがありません。 ライン: 17 文字: 1 コード: 0 URI: 省略 xml 側 <?xml version="1.0" encoding="shift_jis"?> <会員>  <会員データ>   <番号>1</番号>   <氏名>佐藤</氏名>   <住所>北海道</住所>  </会員データ>  <会員データ>   <番号>2</番号>   <氏名>山田</氏名>   <住所>大阪</住所>  </会員データ>  <会員データ>   <番号>3</番号>   <氏名>田辺</氏名>   <住所>アメリカ</住所>  </会員データ>  <会員データ>   <番号>4</番号>   <氏名>岩崎</氏名>   <住所>島根</住所>  </会員データ>  <会員データ>   <番号>5</番号>   <氏名>大木 </氏名>   <住所>愛媛</住所>  </会員データ> </会員> html側 <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=shift_jis"> <title>XML文書を検索 1</title> <script language="JavaScript"> function Search(ky) { var obXML = new ActiveXObject('microsoft.XMLDOM'); obXML.async = false; obXML.load('samp06.xml'); var Rnode = obXML.documentElement; var string = ""; string = "ルートノード名:" + Rnode.nodeName + "<br>"; if(Rnode.hasChildNodes()) { var Dnum = Rnode.childNodes.length; var Dname1 = Rnode.childNodes.item(0).childNodes.item(1).text; var Dname2 = Rnode.childNodes.item(1).childNodes.item(1).text; var Dname3 = Rnode.childNodes.item(2).childNodes.item(1).text; var Dname4 = Rnode.childNodes.item(3).childNodes.item(1).text; string += "sam06.xml内に記述されたデータの氏名は以下の" + Dnum + "件です。<br>"; string += "1" + Dname1 + "<br>"; string += "2" + Dname2 + "<br>"; string += "3" + Dname3 + "<br>"; string += "4" + Dname4 + "<br>"; } else { string += "該当データなし<br>"; } hyouji.innerHTML = string; } </script> </head> <body> <div align="center"> <form name="f1"> <input type="text" size="40" name="ky"> <input type="button" name="sbutton" value="検索" onClick="Search(ky)"> </form> <hr> <div id="hyouji" align="left"></div> </div> </body> </html>

  • 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をjavascriptで読み込み、HTMLに表示させようとしてい

    xmlをjavascriptで読み込み、HTMLに表示させようとしています。 IEでは出来たのですが、それ以外でのブラウザでどうしても読み込むことが出来ません。 簡単なxmlを作ります。例えばこの『これを表示』というテキストをfirefoxで表示させたい場合はどのように書けば良いのでしょうか? <?xml version="1.0" encoding="UTF-8"?> <items> <item>これを表示</item> </items> 今はこのようなjsを作っています。 アラートのAAAでxmlのテキストを表示させるようにしたいのですが・・・ ノードへのアクセス方法?が間違っているのはわかっているんです。ただ、検索して調べても色々出てきて、色々試しても上手くいかず・・・どうしても分がわかりません。 すみません、どなたかご指摘お願い致します!! xmlData = new XMLHttpRequest(); // XMLドキュメントをDOMで扱うためのオブジェクトを作る xmlData.overrideMimeType("sample.xml"); // XMLドキュメントを読み込む var AAA = xmlItemData.documentElement.childNodes[1].childNodes[1].text; alert(AAA); 宜しくお願い致します。

  • VBscriptでXMLデータの抽出に関する質問

    教えて下さい。以下のようなXMLファイルがあります。 <?xml version="1.0" encoding="Shift-JIS"?> <ROOT> <INFO> <NO>0001</NO> <NAME>ABC</NAME> <COMMENT> </COMMENT> <AGE>30</AGE> </INFO> </ROOT> これを以下のようにVBScriptにてデータを取り出したいです。 Dim DOM, docRoot, node, nodeList, i, m Dim objADO, objADO2 Dim objRS Dim sqlstmt, strSQL Dim no, comment 'DOMオブジェクト生成 Set DOM = CreateObject("Microsoft.XMLDOM") '同期モード DOM.async = True 'XMLを読み込む DOM.load("11.xml") 'ルートセット Set docRoot = DOM.documentElement 'ノードの設定 Set nodeList = docRoot.selectNodes("/ROOT/INFO") 'ループ For Each node In nodeList For i = 0 to node.ChildNodes.length - 1 Select case node.childNodes(i).nodeName case "NO" no = node.childNodes(i).firstChild.nodeValue case "COMMENT" comment = node.childNodes(i).firstChild.nodeValue End select Next Next ところがCOMMENTタグのようにデータが空のものがあると 「オブジェクトがありません」とエラーになります。 if Not IsNull(node.childNodes(i).firstChild.nodeValue) then というようにもやってみましたが、これでも同じエラーとなってしまいます。 何か方法はないでしょうか?アドバイスを宜しくお願いします。

    • ベストアンサー
    • XML
  • (大至急)JavaScriptの質問です

    xmlファイルを読み込んで 書籍1: Title:ハリーポッター ・ ・ 書籍2: Title:広辞苑 ・ ・ 書籍3: ・ ・ のように表示させるJavaScriptのプログラム(拡張子はhtml)を作りたいのですが、上手く行きません。大至急教えて頂けないでしょうか?!本当に困ってます・・・ ///////////作りかけのJavaScriptプログラム//////// <HTML> <script> xmldoc=new ActiveXObject("Microsoft.XMLDOM"); xmldoc.load("Books.xml"); var str=""; var i=0,j=0,imax=0; imax = xmldoc.documentElement.childNodes.length; var Titles = xmldoc.documentElement.getElementsByTagName("Title"); var Authors = xmldoc.documentElement.getElementsByTagName("Author"); var Prices = xmldoc.documentElement.getElementsByTagName("Price"); for(var i=0;i< imax;i++){ str=str+xmldoc.documentElement.childNodes.item(i).text+"<BR />"; document.writeln(str); } </script> <body> </body> </HTML> ///////////作りかけのJavaScriptプログラム//////// ////////////Books.xml////////////// <?xml version="1.0" encoding="SHIFT_JIS" ?> <?xml-stylesheet type="text/xsl" href="kadai3.xsl" ?> <Books> <Book> <Title>ハリーポッター</Title> <Author>j.kローリング</Author> <Price>3800</Price> </Book> <Book> <Title>広辞苑</Title> <Author>鈴木太郎</Author> <Price>6800</Price> </Book> <Book> <Title>魚の図鑑</Title> <Author>田中雅夫</Author> <Price>4500</Price> </Book> </Books> ////////////Books.xml//////////////

  • XMLで画像を読み込むと巨大化します・・・

    Flash8にて、外部XML画像とURLを読み込みしています。 初の試みでして、たどたどしくも双方ともに読み込むところまでは皆様のこれまで作られたデータを基に作成出来たのですが、画像を読み込んだときに巨大化されてしまって困っています。 ▼XML --------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <jpeg> <jpegURL>images/image1.jpg</jpegURL> <link>http://yahoo.co.jp/1</link> <jpegURL>images/image2.jpg</jpegURL> <link>http://yahoo.co.jp/2</link> <jpegURL>images/image3.jpg</jpegURL> <link>http://yahoo.co.jp/3</link> <jpegURL>images/image4.jpg</jpegURL> <link>http://yahoo.co.jp/4</link> </jpeg> --------------------------------------------------- 800×250で画像を読み込みたいのですが、 読み込むと、すさまじく巨大化してしまっています。。 作ろうとしているのは、横にスクロールするナビゲーションです。 XMLで画像とリンク先を指定、画像は同じ階層に「img」というフォルダを作って入れています。 下記が、1フレーム目に記載しているASです。 ▼AS --------------------------------------------------- var obj_array:Array = new Array(); var center:Number = Stage.width/2; var menu_num:Number = 4; var maxlength:Number = 800*menu_num; //サイズ指定箇所 var friction:Number = -0.03; var obj_xml:XML = new XML(); obj_xml.onLoad = start_me; obj_xml.ignoreWhite = true; obj_xml.load("scrollslide.xml"); function start_me(success:Boolean):Void { if (success == true) { for (var i = 1; i<=menu_num; i++) { var menu_str:String = "menu"+i; obj_array[i] = _root.attachMovie("menu", menu_str, i); obj_array[i].num = i; obj_array[i]._x = 800*(i-1); //X座標 obj_array[i]._y = 0; var jpg_str:String = obj_xml.firstChild.childNodes[(i-1)*2].firstChild; var link_str:String = obj_xml.firstChild.childNodes[i*2-1].firstChild; obj_array[i].jpg_mc.loadMovie(jpg_str); obj_array[i].onEnterFrame = scrollphoto_me; obj_array[i].onPress = press_me; obj_array[i].onRollOver = roll_me; obj_array[i].onRollOut = rollout_me; //関数呼び出し obj_array[i].onRelease = release_me; obj_array[i].link = link_str; } } else { seltext = "xml read error"; } } function release_me():Void { trace(this.link); getURL(this.link, "_parent"); } function scrollphoto_me():Void { var speed:Number = (_root._xmouse-center)*friction; var vx:Number = this._x+speed; if (vx<=-800) { //ステージ左に消えたら vx += maxlength; //サムネイルの最後列の後ろに移動 } else if (vx>=Stage.width+10) { //ステージ右に消えたら vx -= maxlength; //サムネイル最前列の前に移動 } this._x = vx; updateAfterEvent(); } function roll_me():Void { this._alpha = 80; } function rollout_me():Void { this._alpha = 100; } stop(); --------------------------------------------------- サイズを指定している箇所に問題があるのでしょうか。 初心者でして、全く見当がつかず困っております。 もしよろしければ、先人の方たちにご意見とご指摘を頂ければと思います。宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • 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ファイルは上記のように相対パス指定で行ってます。 以上、お願いします。

  • firefox、opera等での番号の数え方

    現在Javascriptを勉強中で 教材中での疑問なのですが 下の記述でどうしても腑に落ちないことがあります。 IEの方の[]の中の番号の数え方は分かるのですが firefox用ではどういう数え方をすれば node[0].childeNodes[5].childeNodes[1].innerHTML......... という数え方になるのでしょうか? 開始タグと終了タグを分けて数えているのでしょうか? 分かる方回答お願いします。 // IE用 function change(){ var node = document.getElementsByTagName("body"); node[0].childNodes[2].childNodes[0].innerHTML = "変更しました"; } // FireFoxやOpera用 function change(){ var node = document.getElementsByTagName("body"); node[0].childNodes[5].childNodes[1].innerHTML = "変更しました"; } --------HTML---------- <body> <h1>サンプル3</h1> <p>ここが変わります。</p> <div> <p>深いノード1</p> <p>深いノード2</p> </div> <form> <input type="button" value="変更" onclick="change();"> </form> </body>

  • 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は全くわからないので、ご教授よろしくお願いいたします。

専門家に質問してみよう