<?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>blog.plastik.jp &#187; Programming</title>
	<atom:link href="http://blog.plastik.jp/archives/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.plastik.jp</link>
	<description>PHP, MySQL, MT, WordPressなどWeb系を中心に活動するエンジニア</description>
	<lastBuildDate>Thu, 22 Jul 2010 23:42:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP XML_Unserializer で、XMLの属性を取得したい時</title>
		<link>http://blog.plastik.jp/archives/176</link>
		<comments>http://blog.plastik.jp/archives/176#comments</comments>
		<pubDate>Sun, 23 Nov 2008 08:32:45 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP XML]]></category>

		<guid isPermaLink="false">http://blog.plastik.jp/?p=176</guid>
		<description><![CDATA[今扱っている案件で、XMLを読み込んで、ごにょごにょする機会があり、はまったことがあったので、メモとして残します。
PHPのXML読み込み実装の中でも、かなり使えるXML_Unserializerですが、以下のようなXMLを読み込んで、なおかつ、articleタグのtypeやidのような属性までも取得したい場合、オプションを設定する必要があることがわかりました。
&#60;articles&#62;
	 &#60;article type="news" id="ID10001"&#62;
		 &#60;title&#62;記事1&#60;/title&#62;
	 &#60;/article&#62;
	 &#60;article type="news" id="ID10002"&#62;
		 &#60;title&#62;記事2&#60;/title&#62;
	 &#60;/article&#62;
&#60;/articles&#62;
やり方は、簡単で、XML_UnserializerのsetOptionメソッドで、parseAttributesをTrueに設定すれば良いだけでした (オプション一覧)。以下はPHP5の読み込みまでの例。
&#60;?php
require_once("XML/Unserializer.php");

$xml = file_get_contents("sample.xml");
$obj = new XML_Unserializer();

$obj->setOption("parseAttributes", true);

$status  = $obj->unserialize($xml);
if ($status === true) {
    $dat = $obj->getUnserializedData();
	  print_r($dat);
}
?&#62;

pear の XML_Serializer, XML_Unserializerは、未だにバージョンは beta のままですが、一度これに慣れてしまうと非常に便利で手放せないモジュールになると思います。
]]></description>
			<content:encoded><![CDATA[<p>今扱っている案件で、XMLを読み込んで、ごにょごにょする機会があり、はまったことがあったので、メモとして残します。</p>
<p>PHPのXML読み込み実装の中でも、かなり使える<a href="http://pear.php.net/manual/ja/package.xml.xml-serializer.php">XML_Unserializer</a>ですが、以下のようなXMLを読み込んで、なおかつ、articleタグのtypeやidのような属性までも取得したい場合、オプションを設定する必要があることがわかりました。</p>
<pre>&lt;articles&gt;
	 &lt;article type="news" id="ID10001"&gt;
		 &lt;title&gt;記事1&lt;/title&gt;
	 &lt;/article&gt;
	 &lt;article type="news" id="ID10002"&gt;
		 &lt;title&gt;記事2&lt;/title&gt;
	 &lt;/article&gt;
&lt;/articles&gt;</pre>
<p>やり方は、簡単で、XML_UnserializerのsetOptionメソッドで、parseAttributesをTrueに設定すれば良いだけでした (<a href="http://pear.php.net/manual/ja/package.xml.xml-serializer.xml-unserializer.options.php">オプション一覧</a>)。以下はPHP5の読み込みまでの例。</p>
<pre>&lt;?php
require_once("XML/Unserializer.php");

$xml = file_get_contents("sample.xml");
$obj = new XML_Unserializer();

$obj->setOption("parseAttributes", true);

$status  = $obj->unserialize($xml);
if ($status === true) {
    $dat = $obj->getUnserializedData();
	  print_r($dat);
}
?&gt;
</pre>
<p>pear の XML_Serializer, XML_Unserializerは、未だにバージョンは beta のままですが、一度これに慣れてしまうと非常に便利で手放せないモジュールになると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.plastik.jp/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>初めてのPerl(リャマ本)買った</title>
		<link>http://blog.plastik.jp/archives/102</link>
		<comments>http://blog.plastik.jp/archives/102#comments</comments>
		<pubDate>Sat, 07 Jun 2008 09:50:35 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.plastik.jp/?p=102</guid>
		<description><![CDATA[
今メインとしている職場では、Perlスクリプトも結構活用されているようなので、いい機会と思い改めて始めてみることにした。昔からどうも苦手意識だけが先行してあるので、まずはそこの克服からだ。現在日本語版は、第3版だが、英語版は、もうすぐ第5版が発売されようとしている。当然翻訳も進んでいそうだが、待ってもいられないので、早速今日から始めます。



Learning Perl 5th Edition
posted with amazlet at 08.06.07

Tom Phoenix Randal L. Schwartz Brian D. Foy Oreilly &#038; Associates Inc 
Amazon.co.jp で詳細を見る



]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873111269/plastiks-22/ref=nosim/"><img src="http://blog.plastik.jp/wp-content/uploads/2008/06/imgp2888.jpg" alt="初めてのPerl" title="Lerning-Perl" width="400" height="266" class="aligncenter size-full wp-image-103" /></a></p>
<p>今メインとしている職場では、Perlスクリプトも結構活用されているようなので、いい機会と思い改めて始めてみることにした。昔からどうも苦手意識だけが先行してあるので、まずはそこの克服からだ。現在日本語版は、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873111269/plastiks-22/ref=nosim/">第3版</a>だが、英語版は、もうすぐ<a href="http://www.amazon.co.jp/exec/obidos/ASIN/0596520107/plastiks-22/ref=nosim/">第5版</a>が発売されようとしている。当然翻訳も進んでいそうだが、待ってもいられないので、早速今日から始めます。</p>
<div class="amazlet-box" style="margin-bottom:0px;">
<div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/0596520107/plastiks-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51WPKtkGseL._SL160_.jpg" alt="Learning Perl" style="border: none;" /></a></div>
<div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%">
<div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/0596520107/plastiks-22/ref=nosim/" name="amazletlink" target="_blank">Learning Perl 5th Edition</a>
<div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/0596520107/plastiks-22/ref=nosim/" title="Learning Perl" target="_blank">amazlet</a> at 08.06.07</div>
</div>
<div class="amazlet-detail">Tom Phoenix Randal L. Schwartz Brian D. Foy <br />Oreilly &#038; Associates Inc </div>
<div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/0596520107/plastiks-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="amazlet-footer" style="clear: left"></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.plastik.jp/archives/102/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
