我是新手在這裏,我試圖尋找和一個XML文件,該文件是下面給出替換字符串:正則表達式在XML無法按預期工作
<name>xxx.yyy_zzz</name>
<constructor_arguments />
<parameters>
<parameter>
<name>Name</name>
<string>
<value>yyy</value>
</string>
</parameter>
<parameter>
<name>abc</name>
<bool>
<value>false</value>
</bool>
</parameter>
<parameter>
<name>abcd</name>
<bool>
<value>true</value>
</bool>
</parameter>
<parameter>
<name>aa</name>
<integer>
<value>10</value>
</integer>
</parameter>
<parameter>
<name>bb</name>
<integer>
<value>100</value>
</integer>
</parameter>
<parameter>
<name>runtime_disabled</name>
<bool>
<value>false</value>
</bool>
我曾嘗試以下改變runtime_disabled值爲true,但它並沒有發生,我希望發生的,任何人都可以告訴爲什麼會這樣出於同樣提供合適的解決方案合作
$data=~ s/(xxx\.i\yyy\_zzz\s*?<\/name>(.+?)runtime_disabled\s*?<\/name>\s*?<bool>\s*?<value>\s*?<value>.*?<\/value>)/$1true$2/g;
好像你正在試圖讓名,以便始終是更好地使用XML文檔解析器嘗試此鏈接http://stackoverflow.com/questions/2052179/how -can-i-find-and-replace-text-in-xml-using-perl –
試圖用正則表達式解析XML是痛苦的祕訣。 – melpomene