<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>memo.393 &#187; XML</title>
	<atom:link href="http://memo.393.bz/archives/tag/xml/feed" rel="self" type="application/rss+xml" />
	<link>http://memo.393.bz</link>
	<description>個人的メモです。間違いなどありましたらご指摘ください。。。</description>
	<lastBuildDate>Sun, 27 Nov 2011 15:27:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[AS]XMLを更新したのにswfに反映されない場合（キャッシュ対策）</title>
		<link>http://memo.393.bz/archives/581</link>
		<comments>http://memo.393.bz/archives/581#comments</comments>
		<pubDate>Thu, 14 May 2009 04:11:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=581</guid>
		<description><![CDATA[Xmlを読み込む際には、URLにユニークな変数を追加して、かならず再読み込みをさせたほうがいいみたい。 基本のURLのままだと、変更しても再読み込みの際、キャッシュから読んで新たに読み込んでくれない。 URL（Strin [...]]]></description>
			<content:encoded><![CDATA[<p>Xmlを読み込む際には、URLにユニークな変数を追加して、かならず再読み込みをさせたほうがいいみたい。<br />
基本のURLのままだと、変更しても再読み込みの際、キャッシュから読んで新たに読み込んでくれない。</p>
<p>URL（String)にユニークな変数を追加する関数</p>
<pre name="code" class="as">

import flash.net.LocalConnection;

//基本のURL
var xml_str:String = &quot;http://hoge.com/hoge.xml&quot;;
//基本のURLにユニークな変数を追加
xml_str = setNoCashURL(xml_str);

private function setNoCashURL(url_str):String {
	//サーバーにあがってるか同かを調べるため
	var lc:LocalConnection = new LocalConnection();
	//現在のドメイン名を取得
	var domain_str:String = lc.domain;
	//ドメイン名がlocalhostの時はローカルでのテストなので変数はつけない。
	//(変数がついてるとローカルではxmlが読みこまれないみたい）
	if (domain_str != &quot;localhost&quot;) {
		//現在時刻を取得することでユニークな数値を取得
		var noCash:Number = new Date().getTime();
		//URLに追加できる形にして数値を文字列化
		var noCash_str:String = &quot;?nocash=&quot;+String(noCash);
	} else {
		noCash_str = &quot;&quot;;
	}

	url_str += noCash_str;
	//変数を追加した文字列を返す
	return url_str;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/581/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS]XMLで要素数が何個あるかわからないデータを取得する時の方法 (for each (　in　)の使い方)　</title>
		<link>http://memo.393.bz/archives/514</link>
		<comments>http://memo.393.bz/archives/514#comments</comments>
		<pubDate>Tue, 14 Apr 2009 10:21:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XMLList]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=514</guid>
		<description><![CDATA[フレームアクションでこんな感じ。 var xml:XML = &#60;sampleXML&#62; &#60;test&#62;まるいち&#60;/test&#62; &#60;test&#62;まるに&#60;/test&#62; &#038;l [...]]]></description>
			<content:encoded><![CDATA[<p>フレームアクションでこんな感じ。</p>
<pre name="code" class="as">

var xml:XML =
&lt;sampleXML&gt;
&lt;test&gt;まるいち&lt;/test&gt;
&lt;test&gt;まるに&lt;/test&gt;
&lt;test&gt;まるさん&lt;/test&gt;
&lt;test&gt;まるよん&lt;/test&gt;
&lt;test&gt;まるご&lt;/test&gt;
&lt;/sampleXML&gt;;

trace(xml);

var xmlArray:Array = new Array();

var sampleXMLList:XMLList = xml.test;

//配列にtest要素を突っ込む
for (var i:uint = 0; i&lt; sampleXMLList.length(); i++) {
	xmlArray.push(xml.test[i]);
}
//配列の中身を確認
for (i = 0; i &lt; xmlArray.length; i++) {
	trace(&quot;xmlArray その１ : &quot;+xmlArray[i]);
}

//配列を空にする。
xmlArray = [];

//配列にtest要素を突っ込む
for each (var container:Object in xml.test) {
	xmlArray.push(container);
}
//配列の中身を確認
for (i = 0; i &lt; xmlArray.length; i++) {
	trace(&quot;xmlArray その２ : &quot;+xmlArray[i]);
}
</pre>
<p>プレビュー時の出力はこんな感じ<br />
<sampleXML><br />
  <test>まるいち</test><br />
  <test>まるに</test><br />
  <test>まるさん</test><br />
  <test>まるよん</test><br />
  <test>まるご</test><br />
</sampleXML><br />
xmlArray その１ : まるいち<br />
xmlArray その１ : まるに<br />
xmlArray その１ : まるさん<br />
xmlArray その１ : まるよん<br />
xmlArray その１ : まるご<br />
xmlArray その２ : まるいち<br />
xmlArray その２ : まるに<br />
xmlArray その２ : まるさん<br />
xmlArray その２ : まるよん<br />
xmlArray その２ : まるご</p>
<p>注意するのは<br />
Arrayの中身を数えるのは、Array.length<br />
XMLListの中身を数えるのは、XMLList.length();<br />
微妙に違うところ。</p>
<p>あとfor each (in)分を使えば、データの数がわからなくとも、データがあるだけループさせられる。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/514/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS]読み込んだXMLの内容を改行したときに余分な改行があった場合</title>
		<link>http://memo.393.bz/archives/499</link>
		<comments>http://memo.393.bz/archives/499#comments</comments>
		<pubDate>Sat, 11 Apr 2009 11:43:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=499</guid>
		<description><![CDATA[読み込んだXMLをTextFieldに表示させるときに、 XML側では、こんな感じで書くとその中の改行がそのまま表示できる。 &#60;?xml version=&#34;1.0&#34; encoding=&#038;quot [...]]]></description>
			<content:encoded><![CDATA[<p>読み込んだXMLをTextFieldに表示させるときに、<br />
XML側では、こんな感じで書くとその中の改行がそのまま表示できる。</p>
<pre name="code" class="xml">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;sample&gt;
&lt;description&gt;
&lt;![CDATA[あかさなた
はまやらわ]]&gt;
&lt;/description&gt;
&lt;/sample&gt;
</pre>
<p>ただその際に改行コードの問題で、一回しか改行してないつもりでも2行で改行されてしまうときがある。</p>
<p>↓こうでてほしいのに<br />
あかさなた<br />
はまやらわ</p>
<p>↓こうなる<br />
あかさなた</p>
<p>はまやらわ</p>
<p>Windowsの改行コードの問題なので、<br />
xmlから読み込んだストリングの改行コードを変換してあげればOK</p>
<pre name="code" class="as">

//xmlから読み込んだストリングの
var strictDescription:String = xml.description[0];
//改行コードを\nに統一する。
strictDescription = strictDescription.replace(/\r\n/g, &#039;\n&#039;);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/499/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS]XMLとXMLListについて</title>
		<link>http://memo.393.bz/archives/67</link>
		<comments>http://memo.393.bz/archives/67#comments</comments>
		<pubDate>Sun, 14 Dec 2008 02:05:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XMLList]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=67</guid>
		<description><![CDATA[//XMLからノードを抜き出したものがXMLListとなるらしい。 //抜き出したノードはXMLListに代入できる var xml:XML= &#60;data1&#62; &#60;node&#62;Node1&#60;/no [...]]]></description>
			<content:encoded><![CDATA[<p>//XMLからノードを抜き出したものがXMLListとなるらしい。</p>
<p>//抜き出したノードはXMLListに代入できる</p>
<pre name="code" class="as">

var xml:XML=
&lt;data1&gt;
&lt;node&gt;Node1&lt;/node&gt;
&lt;node&gt;Node2&lt;/node&gt;
&lt;/data1&gt;;
var xmllist:XMLList = new XMLList();
xmllist = xml.node;
</pre>
<p>//でもXMLに代入はできない。</p>
<pre name="code" class="as">

var xml:XML=
&lt;data1&gt;
&lt;node&gt;Node1&lt;/node&gt;
&lt;node&gt;Node2&lt;/node&gt;
&lt;/data1&gt;;
var xml1:XML = new XML();//XMLではダメ。
xml1 = xml.node;
</pre>
<p>//2008/1/15追記<br />
//これならXMLとなる</p>
<pre name="code" class="as">

xml1 = xml.node[0];
</pre>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/67/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

