【发布时间】:2013-04-30 18:14:26
【问题描述】:
我有一个纯文本文件,其中包含选项卡式信息,如下所示
ADVMONITOR "WINOSSPI-RPCService-Win2k"
DESCRIPTION "Checks the 'Remote Procedure Call (RPC)' Windows 2000 service and its corresponding process"
INTERVAL "5m2s"
SCRIPTTYPE "VBScript"
MULTISOURCE
INSTANCEMODE ONCE
MAXTHRESHOLD
SEPARATORS " "
ICASE
PROGRAM "Process"
DESCRIPTION "Returns the number of running 'svchost.exe' processes;"
MONPROG "opcntprocs.exe WINOSSPI-RPCService-Win2k-Process svchost"
PROGRAM "Service"
DESCRIPTION "Returns values that correspond to different states of the service 'RPC Service'"
MONPROG "opcntservice_chk.bat RpcSs WINOSSPI-RPCService-Win2k-Service"
MSGCONDITIONS
INSTANCERULE "Combined Service and Process Monitor; suppress messages caused by same case;"
ID "d5ca6823-37d4-4581-886a-2aad3462d9e0"
DESCRIPTION "Checks the services and processes"
CONDITION_ID "0cdb88dd-0338-47d3-a5f5-e4d982e8a1a9"
CONDITION
我需要的是从每个不同的块中获取信息,我可以将这些信息导入到数据库中,但是我无法通过不同的块进行良好的迭代以从每个块中获取正确的数据良好且可识别的方式。
我尝试使用名为tabbedLinesTree 的类根据选项卡识别块,这会将所有选项卡式文本转换为 XML,这也很有用,但不同的字段不会以字段名称或任何其他方式显示确定我们正在通过哪个街区。
正在恢复...我想通过该文件并为每个 PROGRAM 块获取(作为示例)一个具有 PROGRAM 名称的数组,DESCRIPTION 和 MONPROG 用于该块...
不知道如何概念化这个,你能帮我解决这个问题吗?
我擅长 PHP,但如果需要,我可以实现任何其他解决方案。
Ps:某些块可以有更多的选项卡或更多的信息字段(行)。
--- 在 NIGEL 的回答之后添加的文本下方 ---
第二个文本示例...
SYNTAX_VERSION 5
LOGFILE "OvSvcDiscErrorLog"
DESCRIPTION "Self-Management OvService Discovery agent error log"
LOGPATH "<OvSvcDiscErrorLog>"
INTERVAL "5m"
CHSET ASCII
FROM_LAST_POS
NO_LOGFILE_MSG
CLOSE_AFTER_READ
SEPARATORS " "
MSGCONDITIONS
DESCRIPTION "[E01-001] EXCEPTION while installing policy"
SUPP_DUPL_IDENT "3m"
COUNTER_THRESHOLD 0
CONDITION_ID "17adc1d1-32cf-42ca-be5f-1cf784f19026"
CONDITION
TEXT "<*> \\[E01-001\\] EXCEPTION while installing policy <*.polname>" SEPARATORS " "
SET
SEVERITY Critical
APPLICATION "OVO/Win"
MSGGRP "OVO"
OBJECT "OvSvcDiscAgent"
TEXT "[E01-001]EXCEPTION while installing policy "`
【问题讨论】:
-
你能指出输入文件格式的标签吗?
-
嗨,Emiliano,第二个例子看起来像一个树状结构。例如。
SET是MSGCONDITIONS的子代,SEVERITY和APPLICATION是SET的子代。这看起来对吗? -
大家好!抱歉,没有看到你最后的 cmets... Jamie,谢谢你的回答,你的意思是什么?要我突出显示标签吗?我能做到。奈杰尔,就是这样! :)