Posts Tagged ‘XML’

RSS Feed の読み込み

ne4 Posted in web,Tags: , ,

Google AJAX Feed API

Feed API を使用すると、JavaScript だけを使用して、公開されている Atom フィードや RSS フィードをダウンロード、マッシュアップすることができる。
フィードは JSON 形式と XML 形式で返すことができる。デフォルトは JSON 形式。
この JSON 形式は、オリジナルのフィードを簡素化し、標準化している。→ Atom および RSS のtitledescriptionsummary などの属性を共通の JSON プロパティにマッピング。
setResultFormat により XML 結果形式を指定すると、フィードの完全な XML を返す。これにより、ブラウザに組み込まれている標準的な XML DOM 関数によってアクセス可能。

feed.setResultFormat(google.feeds.Feed.XML_FORMAT);

google.feeds.FeedControl クラスのインスタンスは、複数のフィードをダウンロードして表示可能。
このクラスは AJAX Search API の検索コントロール レイヤー GSearchControl と同等。
デフォルトの drawMode はリニア モード(google.feeds.FeedControl.DRAW_MODE_LINEAR)で、
リンク付のタイトルと、時間、サマリーを表示。 例) ↓
——————————————————————
KDDI の悪質な勧誘
by ne4-2010年2月20日
現在、ウチの電話回線はNTTのままで、通話料だけKDDIに支払っている(マイラインプラス契約)。本日、KDDIから「KDDIとNTTの請求書を1つにまとめれば安くなりますよ。切り替えても良いですか?」という内容の電話が来た。詳しい説明もないまま契
——————————————————————

PHP の場合

htdocs > sample > xml > xml4.php

$content = file_get_contents ('http://blog00....読込先URL');

$xml_parser = xml_parser_create();
xml_parse_into_struct ($xml_parser, $content, $vals);
xml_parser_free ($xml_parser);

//  例えば、"展示・イベント" カテゴリーだけの配列を作る
$i = 0;
while ($vals[$i]) {
  foreach ($vals[$i] as $value2) {
	if ($value2 == "展示・イベント") {
	$title[] = $vals[$i-10];  //配列に相対的な位置の値=title を代入する
	$event[] = $vals[$i+1];  //配列に相対的な位置の値=content を代入する
	break;
	}
  }
$i++;
}

//  $event配列[0]の値を代入する
$content = $event[0][value];

//  str_replace — 検索文字列に一致したすべての文字列を置換する
$conte = str_replace ("<br />",  "/",  $content);

//  strip_tags — 文字列から HTML および PHP タグを取り除く
$cont = strip_tags ($conte);

//  explode — 文字列を文字列により分割して配列に格納
$conts = explode ("/",  $cont);

//  $title配列[0]の値を代入する
$title = $title[0][value];
echo "<b>$title</b>";

foreach ($conts as $value)
{
  echo "$value","<br />";
}

ActionScript 3.0 の場合
temp > FD > RSSViewer_test2

public class RSSParser extends EventDispatcher {
public var url:String = "http://blog00............";

public var rssXML:XML;
public var rssOutput:String;
public var rssTitle:String;
private var myLoader:URLLoader;
private var dataWritten:Event;

//  追加..
public var contArray:Array = new Array;
public var outArray:Array = new Array;

public function RSSParser() {
	var rssXMLURL:URLRequest = new URLRequest(url);
	myLoader = new URLLoader(rssXMLURL);
	myLoader.addEventListener("complete", xmlLoaded);
}

public function xmlLoaded(evtObj:Event):void {
	rssXML = XML(myLoader.data);
	var outXML:XMLList = new XMLList();

	if (rssXML.namespace("") != undefined) {
		default xml namespace = rssXML.namespace("");
	}
	for each (var item:XML in rssXML..item) {//<-- 一番右のitemは、rdfの記事のタグ名。atom.xmlの場合は、entryにする。
		var itemTitle:String = item.title.toString();
		var itemDescription:String = item.description.toString();
		var itemLink:String = item.link.toString();	

		//重要..Namespace    注)atom.xmlの場合は、上記同様、item.content.toString()でOK。
		//追加..  にアクセスするため、新しいNamespaceを宣言。rdf最初

ただし、クロスドメインでデータを直接読み込む事は出来ないので間にPHPを挿む必要があるらしい。

しかも、PHP 設置のサイトのルートに、上記ページにあるような crossdomain.xml というポリシーファイルの設置が必要だ。

XML 覚書

ne4 Posted in web,Tags:

DTD > Document Type Definition の略。文書の型定義のことで、 XML文書で利用可能な要素の型と、親要素に含まれる子要素のリストを定義。また、属性を持っている要素は、その属性についても定義。
DTDを持たないXML文書は、整形式(Well-Formed)XML文書と呼びます。整形式XML文書は、チェックをしないため、表示が速いという特徴があり、インターネットで使うのに適している。ただし、ルート・エレメントが1つある階層構造であることや、タグが重ならないなどの条件を満たす必要がある。
 これに対して、DTDを持つXML文書は、検証済(Valid)XML文書と呼びます。検証済XML文書は、データのチェックができるので、正確なXML文書を作成する場合に適しています。

XMLパーサ > XMLデータ(*.xml)を解析してメモリに展開

XSL > eXtensible Style Language の略。XMLのスタイルシート、XMLデータの表現方法を定義するための言語

DOM > Document Object Model の略。XML文書の内容や構造に対して、スクリプトやプログラムを使って動的にアクセスすることを可能にするための規格

Spry と jQuery は相性悪い?

ne4 Posted in web,Tags: , , , ,

Spry で XMLデータを読み込んだページに、 jQuery の lightbox系プラグインを導入したが、動作しなかった。相性悪いの?
代わりに、prototype の lightbox を入れたら動いた。OK。