Коллеги, добрый день.
Короткий вопрос: если в Элементе используется препроцессинг, в препроцессинг поступает многострочный текст (к примеру, плохо форматированный xml), в котором несколько раз встречается строка с ключевым для меня словом, можно ли забрать ВСЕ строки с ключевым словом в данные Элемента?
Пример текста:
Одну строку, первое вхождение, забрать не проблема:
А нужно извлечь в данные Элемента все (может быть до 10) строки с host-id, чтобы получилось так:
Не подскажете, это вообще возможно?
Прошу помочь.
Короткий вопрос: если в Элементе используется препроцессинг, в препроцессинг поступает многострочный текст (к примеру, плохо форматированный xml), в котором несколько раз встречается строка с ключевым для меня словом, можно ли забрать ВСЕ строки с ключевым словом в данные Элемента?
Пример текста:
Code:
set cli-parameters base 10 api brief enabled pager disabled <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RESPONSE VERSION="L100"> <COMP G="0" P="1"/><OBJECT basetype="status" name="status" oid="1"> <PROPERTY name="response-type" type="string">Success</PROPERTY> <PROPERTY name="response-type-numeric" type="string">0</PROPERTY> <PROPERTY name="response" type="string">Command completed successfully. - The settings were changed successfully.</PROPERTY> <PROPERTY name="return-code" type="sint32">0</PROPERTY> <PROPERTY name="component-id" type="string"></PROPERTY> <PROPERTY name="time-stamp" type="string">2018-03-26 16:12:23</PROPERTY> <PROPERTY name="time-stamp-numeric" type="string">1522080743</PROPERTY> </OBJECT> </RESPONSE> # show hosts <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RESPONSE VERSION="L100"> <COMP G="0" P="1"/> <OBJECT basetype="hosts" name="hosts" oid="1" format="rows"> <PROPERTY name="host-id" key="true" type="string">50014380242348fc</PROPERTY> <PROPERTY name="host-name" type="string">MSKBS5</PROPERTY> <PROPERTY name="host-discovered" type="string">Yes</PROPERTY> <PROPERTY name="host-mapped" type="string">Yes</PROPERTY> <PROPERTY name="host-profile" type="string">Standard</PROPERTY> <PROPERTY name="host-bus-type" type="string">FC</PROPERTY> <PROPERTY name="host-port-bits-a" type="uint32">2</PROPERTY> <PROPERTY name="host-port-bits-b" type="uint32">0</PROPERTY> </OBJECT> <COMP G="0" P="2"/> <OBJECT basetype="hosts" name="hosts" oid="2" format="rows"> <PROPERTY name="host-id" key="true" type="string">5001438024234534</PROPERTY> <PROPERTY name="host-name" type="string">MSKBS3</PROPERTY> <PROPERTY name="host-discovered" type="string">No</PROPERTY> <PROPERTY name="host-mapped" type="string">No</PROPERTY> <PROPERTY name="host-profile" type="string">Standard</PROPERTY> <PROPERTY name="host-bus-type" type="string">Undefined</PROPERTY> <PROPERTY name="host-port-bits-a" type="uint32">0</PROPERTY> <PROPERTY name="host-port-bits-b" type="uint32">0</PROPERTY> </OBJECT> <COMP G="0" P="3"/><OBJECT basetype="status" name="status" oid="3"> <PROPERTY name="response-type" type="string">Success</PROPERTY> <PROPERTY name="response-type-numeric" type="string">0</PROPERTY> <PROPERTY name="response" type="string">Command completed successfully.</PROPERTY> <PROPERTY name="return-code" type="sint32">0</PROPERTY> <PROPERTY name="component-id" type="string"></PROPERTY> <PROPERTY name="time-stamp" type="string">2018-03-26 16:12:23</PROPERTY> <PROPERTY name="time-stamp-numeric" type="string">1522080743</PROPERTY> </OBJECT> </RESPONSE>
Code:
(.*host-id.*(?s))
Code:
<PROPERTY name="host-id" key="true" type="string">50014380242348fc</PROPERTY> <PROPERTY name="host-id" key="true" type="string">5001438024234534</PROPERTY>
Прошу помочь.
Comment