- ベストアンサー
XMLから読み込んだテキストをリンク表示する方法
- XMLからテキストデータを読み込んで、リンクを貼り付ける方法について初心者向けに解説します。
- この記事では、XMLファイルからテキストデータを読み込んで、リンク表示する方法について詳しく説明します。
- XMLファイル内にあるテキストデータからリンクを作成する方法について、初心者でもわかりやすく解説します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
anzunyaさん、 AS2.0使用と思いますが、記載のASの一部は、良く分かりませんが、ボタンで、XMLで読み込んだURLにリンクさせたいということだと思いますので、以下のようにしてみました。 /*xmlファイル名を、url.xmlとしました <?xml version="1.0" encoding="UTF-8"?> <file> <visual> <gazou>./main/001.jpg</gazou> <thumb>./navi/thumb_001.png</thumb> <url>http://www.yahoo.co.jp/</url> </visual> <visual> <gazou>./main/002.jpg</gazou> <thumb>./navi/thumb_002.png</thumb> <url>http://www.google.co.jp/</url> </visual> <visual> <gazou>./main/003.jpg</gazou> <thumb>./navi/thumb_003.png</thumb> <url>http://okwave.jp/</url> </visual> <visual> <gazou>./main/004.jpg</gazou> <thumb>./navi/thumb_004.png</thumb> <url>./test.html</url> </visual> </file> */ /*ここから 400×200のステージに、50×50で作ったMovieClipが4つ生成され、XMLで作ったURLに、_blankで、リンクされます。*/ import mx.xpath.XPathAPI;//XpathAPIをimportすると、分かり易いです //以下、各配列生成 var gazouList:Array = new Array(); var thumbList:Array = new Array(); var urlList:Array = new Array(); var _xml:XML = new XML(); _xml.ignoreWhite = true; _xml.onLoad = function(success:Boolean) { if (success) { var rootNode:XML = this.firstChild; gazouList = XPathAPI.selectNodeList(rootNode, "/file/visual/gazou/*"); thumbList = XPathAPI.selectNodeList(rootNode, "/file/visual/thumb/*"); urlList = XPathAPI.selectNodeList(rootNode, "/file/visual/url/*");//ここから、URLを抽出する trace(gazouList.length);//今回は、4となる for (var i:Number = 0; i<gazouList.length; i++) { trace(gazouList[i]); trace(thumbList[i]); trace(urlList[i]); } makeButton();//下のカスタム関数を実行する } else { trace("error!"); } }; _xml.load("url.xml"); //_xml.load("rss.xml?"+getTimer());//ローカルではエラーとなりますが、サーバーアップ時は、ブラウザーのキャッシュ対策として、こっちを使用する、 function makeButton() {//ライブラリー内に作っておく、識別子 BtnのMovieClipを、ステージに生成するカスタム関数を設置しておく for (var i:Number = 0; i<gazouList.length; i++) { var btn:MovieClip = this.attachMovie("Btn", "btn"+i, i); btn._x=40+90*i;//位置決め、適当 btn._y=75; btn._txt.text=String(i);//btnの中に、設置した、ダイナミックテキスト _txtに、i を代入 btn.id = i;//iを、btnに動的に生成するプロパティ id に、保管しておく btn.onRelease = function():Void { getURL(urlList[this.id], "_blank");/*btn.id、即ち、this.id で、配列urlListから、要素を抽出する。3番目のボタンは、.test/htmlを作らないかぎり、リンクされない*/ }; } } //ここまで 尚、XPathAPIについては、下の、吉岡梅さんの解説が、分かりやすいので、参考に、記載しておきます。
お礼
ご回答ありがとうございます。 自分のサンプルを確認したところ、URL表示部がXML用には 配列処理されていなかったので、回答いただいた処理を参考に 書き換えて試してみようと思います! ありがとうございました!(^v^)