﻿<?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>Keith Hair &#187; ActionScript 3</title>
	<atom:link href="http://keith-hair.net/blog/tag/actionscript-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://keith-hair.net/blog</link>
	<description>Scripting is fun like any other hobby</description>
	<lastBuildDate>Mon, 17 May 2010 16:02:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Find and Replace for XML in AS3</title>
		<link>http://keith-hair.net/blog/2008/05/30/find-and-replace-for-xml-in-as3/</link>
		<comments>http://keith-hair.net/blog/2008/05/30/find-and-replace-for-xml-in-as3/#comments</comments>
		<pubDate>Fri, 30 May 2008 04:26:18 +0000</pubDate>
		<dc:creator>Keith H</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://keith-hair.com/blog/?p=3</guid>
		<description><![CDATA[These are some functions I wrote for finding and replacing parts of XML using AS3. Not sure if E4X or "XML.replace()" method can be used to make each function's task better. &#160; /*----------------------------------- Recursively replace nodeNames. -------------------------------------*/ private function findAndReplaceTagNames &#40;xml:XML,find:String,replace:String&#41;:XML &#123; if&#40;xml.localName&#40;&#41; == find&#41;&#123; xml.setLocalName&#40;replace&#41;; &#125; var n:int=0; var c:XML; while&#40;n &#60;xml.children&#40;&#41;.length&#40;&#41;&#41;&#123; c=xml.children&#40;&#41;&#91;n&#93;; findAndReplaceTagNames&#40;c,find,replace&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>These are some functions I wrote for finding and replacing parts of XML using AS3.<br />
Not sure if E4X or "XML.replace()" method can be used to make each function's task better.</p>
<pre class="actionscript">&nbsp;
<span style="color: #808080; font-style: italic;">/*-----------------------------------
	Recursively replace nodeNames.
-------------------------------------*/</span>
      <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> findAndReplaceTagNames
      <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>,find:<span style="color: #0066CC;">String</span>,replace:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">XML</span>
      <span style="color: #66cc66;">&#123;</span>
          <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #006600;">localName</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == find<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              <span style="color: #0066CC;">xml</span>.<span style="color: #006600;">setLocalName</span><span style="color: #66cc66;">&#40;</span>replace<span style="color: #66cc66;">&#41;</span>;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #000000; font-weight: bold;">var</span> n:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">0</span>;
          <span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">XML</span>;
          <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span>n &lt;xml.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">length</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              c=<span style="color: #0066CC;">xml</span>.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span>n<span style="color: #66cc66;">&#93;</span>;
              findAndReplaceTagNames<span style="color: #66cc66;">&#40;</span>c,find,replace<span style="color: #66cc66;">&#41;</span>;
              n++;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #b1b100;">return</span> <span style="color: #0066CC;">xml</span>;
      <span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*-----------------------------------------
	Recursively replace attributes.
-------------------------------------------*/</span>
      <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> findAndReplaceAttributeNames
      <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>,find:<span style="color: #0066CC;">String</span>,replace:<span style="color: #0066CC;">String</span>,in_tags_named:<span style="color: #0066CC;">String</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">XML</span>
      <span style="color: #66cc66;">&#123;</span>
          <span style="color: #000000; font-weight: bold;">var</span> ok:<span style="color: #0066CC;">Boolean</span>=<span style="color: #000000; font-weight: bold;">true</span>;
          <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>in_tags_named != <span style="color: #ff0000;">&quot;&quot;</span> &amp;&amp; <span style="color: #0066CC;">xml</span>.<span style="color: #006600;">localName</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> != in_tags_named<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              ok=<span style="color: #000000; font-weight: bold;">false</span>;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.@<span style="color: #66cc66;">&#91;</span>find<span style="color: #66cc66;">&#93;</span> != <span style="color: #000000; font-weight: bold;">null</span> &amp;&amp; ok<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              <span style="color: #0066CC;">xml</span>.@<span style="color: #66cc66;">&#91;</span>replace<span style="color: #66cc66;">&#93;</span>=<span style="color: #0066CC;">xml</span>.@<span style="color: #66cc66;">&#91;</span>find<span style="color: #66cc66;">&#93;</span>;
              <span style="color: #0066CC;">delete</span> <span style="color: #0066CC;">xml</span>.@<span style="color: #66cc66;">&#91;</span>find<span style="color: #66cc66;">&#93;</span>;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #000000; font-weight: bold;">var</span> n:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">0</span>;
          <span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">XML</span>;
          <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span>n &lt;xml.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">length</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              c=<span style="color: #0066CC;">xml</span>.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span>n<span style="color: #66cc66;">&#93;</span>;
              findAndReplaceAttributeNames<span style="color: #66cc66;">&#40;</span>c,find,replace<span style="color: #66cc66;">&#41;</span>;
              n++;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #b1b100;">return</span> <span style="color: #0066CC;">xml</span>;
      <span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*---------------------------------------------
	Recursively find and remove attributes.
-----------------------------------------------*/</span>
      <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> findAndRemoveAttributeNames
      <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>,find:<span style="color: #0066CC;">String</span>,in_tags_named:<span style="color: #0066CC;">String</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">XML</span>
      <span style="color: #66cc66;">&#123;</span>
          <span style="color: #000000; font-weight: bold;">var</span> ok:<span style="color: #0066CC;">Boolean</span>=<span style="color: #000000; font-weight: bold;">true</span>;
          <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>in_tags_named != <span style="color: #ff0000;">&quot;&quot;</span> &amp;&amp; <span style="color: #0066CC;">xml</span>.<span style="color: #006600;">localName</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> != in_tags_named<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              ok=<span style="color: #000000; font-weight: bold;">false</span>;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.@<span style="color: #66cc66;">&#91;</span>find<span style="color: #66cc66;">&#93;</span> != <span style="color: #000000; font-weight: bold;">null</span> &amp;&amp; ok<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              <span style="color: #0066CC;">delete</span> <span style="color: #0066CC;">xml</span>.@<span style="color: #66cc66;">&#91;</span>find<span style="color: #66cc66;">&#93;</span>;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #000000; font-weight: bold;">var</span> n:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">0</span>;
          <span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">XML</span>;
          <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span>n &lt;xml.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">length</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
              c=<span style="color: #0066CC;">xml</span>.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span>n<span style="color: #66cc66;">&#93;</span>;
              findAndRemoveAttributeNames<span style="color: #66cc66;">&#40;</span>c,find<span style="color: #66cc66;">&#41;</span>;
              n++;
          <span style="color: #66cc66;">&#125;</span>
          <span style="color: #b1b100;">return</span> <span style="color: #0066CC;">xml</span>;
      <span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<a href='http://www.hexosearch.com/se/submit.aspx?zlvz=&zqz=&zurlz=http://keith-hair.net/blog/2008/05/30/find-and-replace-for-xml-in-as3/&ztz=Find and Replace for XML in AS3'><img src='http://keith-hair.net/blog/wp-content/plugins/hexosearch-button/logo16x16.png' width='16' height='16' border='0' style='vertical-align:middle' alt='Vote in HexoSearch' title='Vote in HexoSearch' /></a>]]></content:encoded>
			<wfw:commentRss>http://keith-hair.net/blog/2008/05/30/find-and-replace-for-xml-in-as3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
