in reply to Perl Regex Multiline Matching
Hi,
I am a bit confused with multi line matching, how can I get the value of property name "Text" to match since it spans across multiple lines?
Use something like XML::Twig it knows how to do that already :)
#!/usr/bin/perl -- use strict; use warnings; use XML::Twig; my $xml = q{<?xml version="1.0" encoding="utf-8" standalone="yes"?> <set name="01" id="test" catId="81679" > <cdsets> <cdset id="cdset" name="CD Compilation"> <property name="Own" value=""/> <property name="Type" value="Record"/> <property name="Text" value="Sample text more sample text more more same text]."/> <property name="Unique" value="yes"/> </cdset> </cdsets> </set> }; XML::Twig->new( twig_roots => { 'cdset' => sub { print $_->path, ' '; printf "id(%s)=%s\n", $_->att('id'), $_->att('name'); }, 'cdset/property' => sub { print $_->path, ' '; print $_->att('name'), '=', $_->att('value'),"\n"; }, }, )->parse( $xml ); __END__ /set/cdset/property Own= /set/cdset/property Type=Record /set/cdset/property Text=Sample text more sample text more more same +text]. /set/cdset/property Unique=yes /set/cdset id(cdset)=CD Compilation
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl Regex Multiline Matching (XML::Twig)
by yoda54 (Monk) on Oct 14, 2016 at 01:34 UTC |