Phillip Gawlowski wrote:
> On 27.12.2009 07:32, Milo Luo wrote:
>> Hi, Phillip
>> Here comes the new problem.
>> I want to use this gsub to substitue the spaces in the front of some
>> lines in a XML file. I have tried your method with string variable, but
>> it seems not work for this XML file. I check this file very carefully, I
>> found the spaces before some lines are 3 tabs.
> 
> Well, tabs are special characters "\t", so you'd have to write a regex
> to match spaces *and* \t characters, eventually mixed.
> 
> That's the point where I'd look into an XML parser, to read in the XML,
> and write it out again since you'd deal with loads of special
> characters, anyway, and regexen give me headaches. ;)
> 
> REXML is included with Ruby 1.8.x, and its documentation available here:
> http://www.germane-software.com/software/rexml_doc
> 
> However, its documentation is a bit unwieldy and lacking (certainly not
> for the faint of heart).
> 
> Or Nokogiri (which will have to be installed extra, preferably via
> RubyGems): nokogiri.org
> Googling for "nokogiri prettify XML", I get this link:
> http://emmanueloga.wordpress.com/2009/09/29/pretty-printing-xhtml-with-nokogiri-and-xslt/
> 
> That should work for prettifying XML. ;)
> 
> However, I wouldn't actually bother to prettify it. After all, XML is
> intended to be used by machines, and not so much humans, and XML parsers
> have to be able to deal with the whitespace (i.e. spaces and tabs).

so strange...
/s should match all the spaces, including tabs,but it doesn't work.
I will try to use XML Parser.

Milo
-- 
Posted via http://www.ruby-forum.com/.