search.cpan.org  上 看看


2011/3/11 DXX <[email protected]>

> 恩,是的,用正则可以,但是上面的头指明了必须要用dom来做,比较棘手,dom的资料太不好找了
>
> 2011/3/11 Michael Zeng <[email protected]>
>
>  抛开xml及其模块,  用regex 也可以做啊
>>
>> ( my  $data ) =  $string =~
>> /^\s*BLineCode><!\[CDATA\[(.*)\]\]><\/BLineCode>\s*$/m  ;
>>
>>
>> print $data ;
>>
>>
>>
>>
>>
>> 2011/3/11 DXX <[email protected]>
>>
>>>
>>> hi:
>>>
>>> 我是一个perl程序员,最近遇到一个棘手的问题,我们有个脚本(解析XML文件)现在要用dom模块来进行解析,但是相关的文档太少了,我看了dom的源码,找了google还是没找到到底该怎么解决,所以希望路过的大神能够看到这个问题,并顺手解决一下:
>>>    XML文件是这样的:
>>>  <ScriptRule>
>>>     <Rule>
>>>       <BLineCode><![CDATA[JX-LINUX-TY-PZ-14-OPT]]></BLineCode>
>>>       <BLineName><![CDATA[Perl]]><<
>>> /BLineName>
>>>       <BLineDesc><![CDATA[]]></BLineDesc>
>>>       <BLineSeverity><![CDATA[1]]></BLineSeverity>
>>>       <IsCheck><![CDATA[1]]></IsCheck>
>>>       <RuleExpression><![CDATA[on remote_record it Match
>>> YES]]></RuleExpression>
>>>       <BLineValue><![CDATA[]]></BLineValue>
>>>       <Unit><![CDATA[]]></Unit>
>>>       <FormatRule><![CDATA[Linux]]></FormaatRule>
>>>       <Solution><![CDATA[]]></Solution>
>>>       <BLineStandard><![CDATA[1]]></BLineStandard>
>>>     </Rule>
>>> </ScriptRule>
>>>
>>> 我现在要将cdata进行解析,并放入一个哈希或者数组中:
>>> 形式像这样的:
>>> %hash =
>>> ("BLineCode"=>"JX-LINUX-TY-PZ-14-OPT"),或者是简单的告诉我要怎么把BLineCode和对应的cdata值取出来,不盛感激。
>>> 期待有个传说的人物出现,解决我这个问题
>>> --
>>> nothing is impossible to a willing heart
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
>>> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>
>>
>>
>>
>> --
>>             Yours Sincerely
>>                     Zeng Hong
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
>> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>
>
>
> --
> nothing is impossible to a willing heart
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>



-- 
            Yours Sincerely
                    Zeng Hong

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

回复