- 締切済み
NN で XML を使いたい
次のスクリプトを、NN でも動作するようにしたいのですが、 どのようにすればいいのでしょうか。 (場合分けは省略してくださって構いません) head タグ内の script タグ内 nodes = eList.XMLDocument.getElementsByTagName("date"); len = nodes.length; for (i=0; i<len; i++) { dates[i] = nodes[i].text; areas[i] = nodes[i].nextSibling.text; } body タグ内 <xml id="eList" src="exception.xml" /> よろしくお願い致します。
- KanjiTalk
- お礼率42% (80/189)
- JavaScript
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
NNのversionを表記すべき。
関連するQ&A
- どこが間違っているのでしょうか
body 内に <xml id="UTIs" src="UTIs.xml"> をおき、onLoad で UTTypeGetIconsFile("public.plain-text") を呼び出すのですが、うまくいきません。実際には "public.plain-text.icons" を得たいのですが、どこが間違っているのでしょうか。 [JavaScript] function UTTypeGetIconsFile(UTTypeIdentifier) { roots = UTIs.XMLDocument; keys = root.getElementsByTagName("key"); for (i=0; i<keys.length; i++) { if (keys[i].innerText == "UTTypeIdentifier") { if (keys[i].nextSibling.innerText == UTTypeIdentifier) { dict = keys[i].parentNode; } } } keys = dict.getElementsByTagName("key"); for (i=0; i<keys.length; i++) { if (keys[i].text == "UTTypeiconsFile") { return keys[i].nextSibling.text; } } } [XML] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeIdentifier</key> <string>public.plain-text</string> <key>UTTypeiconsFile</key> <string>public.plain-text.icons</string> <!-- 実際には更に続きます --> </dict> <!-- この後もdictタグが続きます --> </array> </plist> ブラウザは IE6 です。
- ベストアンサー
- XML
- 中身が一部しかわかっていないXMLの読み方
XML例 <A> <B> bbb </B> <C> <D> ddd </D> </C> </A> C#でXMLを読み、特定のタグの中身を書き換える処理を実装しようしています。 ただしXMLファイルの中に書き換えたいタグ以外にどんなタグがあるかがわかっていません。 上記の例の場合、 「<A> - <C> - <D>のdddを書き換えたい」ということはわかっています。 この場合どのように行うのがよいでしょうか? ネットでのソースを参考に書き換えたい値のタグが見つかるまで再帰処理を行い タグが見つかった場合値を書き換えるような処理を書いてみました。 よくあるやり方や、もっとスマートな方法が有りましたらご教授お願いします。 また直接関係なくともヒントとなるようなものでも結構です。 よろしくお願いします。 void test() { XmlDocument document = new XmlDocument(); // ファイルから読み込む document.Load(filePath); readXML(document.DocumentElement); } void readXML(XmlNode node) { // if(node.Name == "D") // 書き換えたい値のタグか判定する //{ // 値を書き換える処理 //} if (node.HasChildNodes) { node = node.FirstChild; while (node != null) { readXML(node); node = node.NextSibling; } } }
- ベストアンサー
- C・C++・C#
- GoogleMapsAPIv3でXMLを取得(2)
以前も一度質問しましたが、新たな障壁が出てきたので同じタイトルで質問させていただきます。 Google Maps API v3でサーバー上にあるXMLファイルを利用して、マーカーを出現させようと思います。 現在以下のようなコードで挑戦しています。 <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google Maps JavaScript API v3</title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript" src="util.js"></script> <script type="text/javascript"> function initialize() { var myLatlng = new google.maps.LatLng(35.682956, 139.727554); var myOptions = { zoom: 12, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); downloadUrl("http://ja.xml", function(data) { var markers = data.getElementsByTagName("Event"); for (var i = 0; i < markers.length; i++) { var lat = parseFloat(markers[i].getElementsByTagName("Latitude")[0].childNodes[0].nodeValue); var lng = parseFloat(markers[i].getElementsByTagName("Longitude")[0].childNodes[0].nodeValue); lat = lat - lat * 0.00010695 + lng * 0.000017464 + 0.0046017; lng = lng - lat * 0.000046038 - lng * 0.000083043 + 0.010040; var latlng = new google.maps.LatLng(lat,lng); var marker = new google.maps.Marker({position: latlng, map: map}); } }); } </script> </head> このコードの場合、同ディレクトリ、または同サーバーにあるXMLを読み込むとうまく動作したのですが、Web上で公開されているようなXMLだとうまく表示されませんでした。 downloadUrlというのは同サーバーの物しか対応していないのでしょうか。 それとも他に原因が考えられますか? ご存じの方いらっしゃいましたらよろしくお願い致します。
- ベストアンサー
- JavaScript
- 【DOM】HTMLのタグに対してはElementインターフェースが使えない?
HTMLの「document」はXMLDocumentと完全に見立ててDOMを利用できないのでしょうか? <html> <style> .foo{ background: #999999; } </style> <body> <input class="foo" type="text" value="NNNN"/> </body> <script language=JavaScript type=text/javascript> function hoge(){ var Nodes; Nodes = document.getElementsByTagName("input"); alert(Nodes.item(0).nodeName) alert(Nodes.item(0).getAttributeNode("class")) alert(Nodes.item(0).hasAttributeNode("class")) } hoge(); </script> </html> 上記のようなコードを書いてもアラートに「foo」と表示されません。 また、hasAttributeNodeにおいては全く反応がありません。 DOMのElementインターフェースが使えないとすれば、 JavascriptからclassやonClickのイベントハンドラなど、 属性を動的に変更するにはどうすればいいでしょうか? 制限事項としてid属性やname属性は使用できません。 IE6での使用です。 以上、よろしくお願いします。
- ベストアンサー
- JavaScript
- GoogleMapでxmlから10件のみ情報取得
今、googlemapで、xmlに書き出されたデータをjavascriptで呼び出し、地図外に一覧を表示させています。 現在のスクリプトでは、xmlデータ全件取得されています。 マップ上のポイントは前件表示、一覧表示部分のみ10件のみ表示に変更させる場合の書き方がわかりません。 初心者なりに、色々とやってみたのですが、うまくいかず。。。 ご指導いただけると助かります。 ****************************************** <script type="text/javascript"> var map; function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById('map')); ・・・ } GDownloadUrl('http://○○.jp/map.xml', function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName('marker'); var shopList = document.getElementById('map_text'); ・・・ for (var i = 0; i < markers.length; i++) { var shop = markers[i].getAttribute('shop'); var text = markers[i].getAttribute('text'); ・・・ var marker = createMarker(point, shop, text, n, imgurl, linkurl, category, shopurl); var sidebarEntry = createSidebarEntry(marker,shop, text); map.addOverlay(marker); shopList.appendChild(sidebarEntry); } }); } function createMarker(point, shop, text, n, imgurl, linkurl, category, shopurl) { ・・・ } function createSidebarEntry(marker, shop, text) { var shopList = document.createElement('div'); shopList.id = "map_text"; var maplist =shop + '<br/>' + text; ←※ここで呼び出される情報を10件に限定したい shopList.innerHTML = maplist; GEvent.addDomListener(shopList, 'click', function() { GEvent.trigger(marker, 'click'); }); return shopList; } </script> ******************************************
- ベストアンサー
- JavaScript
- AjaxでXMLの要素が取得できない
いつもお世話になっております。 Ajaxを勉強しているのですが、prototype.jsを使用し、XMLを読み込んで データを表示させることができず困っております。 ソースは以下の通りです。 logdate.xml <?xml version="1.0" encoding="UTF-8"?> <namelists> <namelist> <name>山田</name> <ten>50</ten> </namelist> <namelist> <name>鈴木</name> <ten>48</ten> </namelist> </namelists> hoge.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Solutoire.com Plotr › LineChart Example</title> <link type="text/css" rel="stylesheet" href="style.css" /> <script src="./lib/prototype/prototype.js" type="text/javascript"></script> <script type="text/javascript"><!-- function getFile() { new Ajax.Request("logdate.xml", { method: "get", onComplete: displayData }); } function displayData(httpObj) { var XML = httpObj.responseXML; var itemsTag = XML.getElementsByTagName("namelists"); $("result").innerHTML = itemsTag.length; } // --></script> </head> <body> <a HREF="logdate.xml">a</a> <form> <input type="button" value="読み込み" onClick="getFile()"> </form> <div id="result"></div> </body> </html> 結果は0となってしまいます。 ネットで調べたりしましたが、原因がつかめません。 どのようにしたらよいのでしょうか?どなたか教えてください。 宜しくお願い致します。
- ベストアンサー
- JavaScript
- .innerHTMLの不一致?
こんにちは。 Javascriptは全くの初心者です。 よろしくお願いします。 <div id="test"> <ul> <li><a href="a.html"><span>AAA</span></a></li> <li><a href="b.html"><span>BBB</span></a></li> <li><a href="c.html"><span>CCC</span></a></li> </ul> </div> <script type="text/javascript"> <!-- var data = "AAA";// AAAは自動取得させる予定 var nodes = document.getElementById('test').getElementsByTagName("a"); for (i = 0; i < nodes.length; i++) { if(nodes[i].innerHTML == data){ nodes[i].setAttribute("class","ddd"); } } //--> </script> 上記のようなjavascriptを設置し、 <li><a href="a.html"><span>AAA</span></a></li> の<a>にclass="ddd"を適用させようと思います。 (<span>には適用させたくない。) しかし、 var data = "AAA"; だと<a>の.innerHTMLは<span>AAA</span>なので <span>AAA</span> ≠ AAA で一致しません。 そこで、 var data = "<span>AAA</span>"; としたところ、FirefoxとNNでは成功しましたが、それ以外のブラウザでは駄目でした。 初心者でお恥ずかしい限りですが、 どうしたらよいのかご教授いただければ幸いです。 よろしくお願いします。
- ベストアンサー
- JavaScript
- Flashにデータを呼び込む
MySQLデータをFlashに呼び込む作業でどうしてもうまく行かなくて困っています。アクションスクリプトバージョンが2.0です。 dog.php というphpファイルで作って、MySQLデータを読み出すところまで成功しました。実際に、http://www.XXXXXX.com/dog.phpをブラウザで打つと 該当のデータが表示されます。 次に、下記のようにFlashにアクションスクリプトを書いてデータをFlashで表示させようとしていますが、、、なかなかうまく行きません。どこが間違っていますか?(なにも表示されません。) var theXML:XML = new XML(); theXML.ignoreWhite = true; theXML.onLoad = function() { var nodes = this.firstChild.childNodes; for(i=0; i<nodes.length; i++) { doglist.addItem(nodes[i].firstChild.nodeValue,i); } } theXML.load("http://www.XXXXXX.com/dog.php"); (ここで、doglistはコンポネットリストの変数です。) もし、このほかもっといい方法がありましたら、ご教授よろしくお願いいたします。
- ベストアンサー
- Flash
- xmlから作ったサムネールを移動させる
こんにちは。 flashを勉強中です。XMLからサムネールの一覧を作ろうとして、 なんとかステージに配置するのはできたのですが、サムネールの 数が多いので、マウスの位置によって垂直に移動させる様なことを したいのですが、どうして動かせばよいのかがわからずに困って おります。 アクションスクリプトは以下の様にしております。 このサムネールをMCに埋め込む方法だけでもお教え頂ければ 幸いです。よろしくお願いします。 ----------------------------------------------- myXML = new XML (); myXML.ignoreWhite = true; myXML.load ("data.xml"); myXML.onLoad = function (loaded) { if (loaded) { v_rootNode = myXML.firstChild; v_num = v_rootNode.childNodes.length; _root.total = v_num; v_currentPhoto = v_rootNode.firstChild; v_currentNumber = 0; for (i=0; i < v_num; i++) { duplicateMovieClip (icon , "mc_icon"+i, i+1); path = v_currentPhoto.childNodes[1].firstChild; _root["mc_icon"+i]._x = 30; _root["mc_icon"+i]._y = 65 * i + 30; _root["mc_icon"+i].picture.LoadMovie(path); _root["mc_icon"+i].title = v_currentPhoto.childNodes[0].firstChild; v_currentPhoto = v_currentPhoto.nextSibling; } } else { trace ("error occured"); } };
- ベストアンサー
- Flash
- XMLを読み込んでサイドバー付きでGoogleMapを表示させるものを
XMLを読み込んでサイドバー付きでGoogleMapを表示させるものを、色々参考にしながら作成しています。 先日、こちらの掲示板で質問させていただき、アドバイスをいただいてJavaScriptの中身を改変してみたのですが、状況が変わってきましたので、前回の板を閉めて、改めて質問させていただきました。 (初回質問) http://questionbox.jp.msn.com/qa5860644.html 【動作サンプル】 http://6pesos.googlecode.com/svn/trunk/xml.html ↑のサンプルのXMLの読み込み部分を以下のように修正してみました。 【修正内容】 GDownloadUrl("data/example-xml.xml", function(data, responseCode) { // XMLファイルの名称・場所 if(responseCode == 200) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); var side_bar = document.getElementById("side_bar"); side_bar.innerHTML = ""; for (var i = 0; i < markers.length; i++) { var point = new GLatLng(parseFloat(markers[i].getElementsByTagName("lat")[0].nodeValue), parseFloat(markers[i].getElementsByTagName("lng")[0].nodeValue)); var label = markers[i].getElementsByTagName("label")[0].nodeValue; var html = markers[i].getElementsByTagName("html")[0].nodeValue; var marker = createMarker(point, label, html); map.addOverlay(marker); var side_barEntry = createside_barEntry(marker, label); side_bar.appendChild(side_barEntry); } 【XMLファイル】 <?xml version="1.0" encoding="UTF-8"?> <markers> <marker> <lat>00.000000</lat> <lng>00.000000</lng> <label>●●●</label> <html>▲▲▲</html> </marker> </markers> これらを表示させてみたのですが、エラーが出て表示されません。 エラーの内容は以下です。 メッセージ: 引数が無効です。 ライン: 137 文字: 18 コード: 0 URI: http://maps.gstatic.com/intl/ja_ALL/mapfiles/225b/maps2.api/main.js 検索して調べてみたのですが、解決法が分かりませんでした…。 サイドバーなしのMAPのみだと、このようなXMLの記述方法で表示可能なようですが、サイドバーがあるMAPにするとエラーが出ます。 解決法が分かる方いらっしゃいましたら、ご教授いただけませんでしょうか。 参考URLでもかまいませんので、よろしくお願い致します。
- ベストアンサー
- JavaScript
お礼
誠に勝手ですが、XML のカテゴリで再質問させて頂きます。
補足
申し訳ありません。NN7 以降(それ以上はまだ出ていませんが)で動けば十分です。