# List folder content from win directory -\> xml output

**URL:** <https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436>\
**Category:** Ruby\
**Created:** [May 13, 2006, 6:19pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436 "2006-05-13T18:19:40Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 6:19pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/1 "2006-05-13T18:19:40Z")

</div>

hi everybody,

I’ve been searching all over the place but found nothing helpful yet.  
I need to list a directory with all its subdirectories and files and  
output that information into an xml file.  
I think Ruby might be quite helpful on this task.  
Since I am a newbie to Ruby I really don’t know where to start.  
Maybe somebody has a solution to this?

Thanx in advance!

memetical

---

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 6:36pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/2 "2006-05-13T18:36:09Z")

</div>

just to start:

# 

puts “\<all\_files\>”  
Dir[“\*\*/\*”].each{ |f| puts " #{f}" }  
puts “\</all\_files\>”

# 

this code prints all files in all subdirectories starting from current;  
good luck  
Sergey

----- Original Message -----  
From: “jonas tracht” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Saturday, May 13, 2006 12:19 PM  
Subject: list folder content from win directory → xml output

---

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 7:52pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/3 "2006-05-13T19:52:14Z")

</div>

Thanx Sergey,

so how do I transfer the lot into an xml file?  
anybody, have a hint? maybe somebody can point me to valuable resources.  
any help is higly appreciated!  
thx,  
jonas

---

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 8:28pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/4 "2006-05-13T20:28:19Z")

</div>

just to continue after previous start 🙂 :

# 

open( “all\_files.xml”, “w” ){ |out|  
out.puts “\<all\_files\>”  
Dir[“\*\*/\*”].each{ |f| out.puts " #{f}" }  
out.puts “\</all\_files\>”  
}

# 

this code outputs list of all files in output file in xml format:  
‘all\_files.xml’;

resources: you can start with  
[http://www.rubycentral.com/book/](http://www.rubycentral.com/book/)  
[http://www.ruby-lang.org/en/](http://www.ruby-lang.org/en/)

enjoy  
Sergey

----- Original Message -----  
From: “jonas tr” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Newsgroups: comp.lang.ruby  
To: “ruby-talk ML” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Saturday, May 13, 2006 1:52 PM  
Subject: Re: list folder content from win directory → xml output

---

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 8:34pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/5 "2006-05-13T20:34:27Z")

</div>

This task is quite simple.

You can solve this yourself without any real problems.

Look at class Dir

Mikkel

On Sunday, May 14, 2006, at 1:19 AM, jonas tracht wrote:

> memetical
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

Mikkel B.

www.strongside.dk - Football Portal(DK)  
ting.minline.dk - Buy Old Stuff!(DK)

---

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 8:43pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/6 "2006-05-13T20:43:42Z")

</div>

Sergey V. wrote:

> just to continue after previous start 🙂 :
> 
> # 
> 
> open( “all\_files.xml”, “w” ){ |out|  
> out.puts “\<all\_files\>”  
> Dir[“\*\*/\*”].each{ |f| out.puts " #{f}" }  
> out.puts “\</all\_files\>”  
> }
> 
> # 
> 
> this code outputs list of all files in output file in xml format:  
> ‘all\_files.xml’;

You may need to replace special characters

class String

# For demo purposes only.

def xscape  
self.gsub( ‘&’, ‘&’).gsub( ‘\<’, '\< )  
end  
end

And then call

```
 Dir["**/*"].each{ |f| out.puts " <file>#{f.xscape}</file>" }

```

For extra fun consider adding file attributes as element attributes:

```
 Dir["**/*"].each{ |f|
   fl = File.new(f)
   mtime = " mtime='#{fl.mtime.to_s.xscape}' "
   ctime = " ctime='#{fl.ctime.to_s.xscape}' "
   out.puts " <file #{mtime} #{ctime} >#{f.xscape}</file>"
  }

```

More or less.

> resources: you can start with  
> [http://www.rubycentral.com/book/](http://www.rubycentral.com/book/)  
> [Ruby Programming Language](http://www.ruby-lang.org/en/)

and

[http://www.ruby-doc.org](http://www.ruby-doc.org)

There may be some useful stuff at

[http://www.rubyxml.com](http://www.rubyxml.com)

as well.

–  
James B.

[http://www.ruby-doc.org](http://www.ruby-doc.org) - Ruby Help & Documentation  
[Ruby Code & Style](http://www.artima.com/rubycs/) - The Journal By & For Rubyists  
[http://www.rubystuff.com](http://www.rubystuff.com) - The Ruby Store for Ruby Stuff  
[http://www.jamesbritt.com](http://www.jamesbritt.com) - Playing with Better Toys  
[http://www.30secondrule.com](http://www.30secondrule.com) - Building Better Tools

---

<div class="post-metadata">

**Author:** ![memetical](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e495f1/32.png) [@memetical](https://www.ruby-forum.com/u/memetical)\
**Post date:** [May 13, 2006, 8:36pm UTC](https://www.ruby-forum.com/t/list-folder-content-from-win-directory-xml-output/60436/7 "2006-05-13T20:36:45Z")

</div>

thx a lot everybody.
