<msg time='2014-10-22T22:00:32.924+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31366' version='1'>
<txt>Thread 1 cannot allocate new log, sequence 377
</txt>
</msg>
<msg time='2014-10-22T22:00:32.924+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31366'>
<txt>Private strand flush not complete
</txt>
</msg>
<msg time='2014-10-22T22:00:32.924+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31366'>
<txt> Current log# 1 seq# 376 mem# 0: /home/oracle/app/oracle/oradata/orcl/redo01.log
</txt>
</msg>
<msg time='2014-10-22T22:00:36.055+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31366'>
<txt>Thread 1 advanced to log sequence 377 (LGWR switch)
</txt>
</msg>
<msg time='2014-10-22T22:00:36.055+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31366'>
<txt> Current log# 2 seq# 377 mem# 0: /home/oracle/app/oracle/oradata/orcl/redo02.log
</txt>
</msg>
<msg time='2014-10-22T22:00:36.522+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31491'>
<txt>Archived Log entry 340 added for thread 1 sequence 376 ID 0x5273f832 dest 1:
</txt>
</msg>
<msg time='2014-10-22T22:01:40.474+08:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='dataserver12' host_addr='172.16.10.12' module=''
pid='31507'>
<txt>LNS: Standby redo logfile selected for thread 1 sequence 377 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
能讀到 time的值和標簽對 <txt>中的內容就夠了</txt>
存放到tb_alert(occur_time date,message varchar2(200))就可以了。
或者有什么簡單的辦法可以把xml資料展示為多行資料,
一個<msg></msg>中的內容對為一行。
uj5u.com熱心網友回復:
Delphi中使用NatiiveXML第三訪控制元件,決議這人小case了。網上搜索一下,自己動手弄一弄就知道了,別等別人給代碼,還不如自己來的快。uj5u.com熱心網友回復:
說明:我使用的是Delphi自帶的XMLDocument1控制元件,首先樓主給的文本并不是標準的XML檔案,所以先加工成相對準備的XML使用它能夠決議。
var
i:Integer;
clist:TStringList;
begin
clist:=TStringList.Create;
clist.LoadFromFile('1.xml');
XMLDocument1.XML.Clear;
XMLDocument1.XML.Text:='<?xml version="1.0" encoding="gb2312"?><ROOT>'+clist.Text+'</ROOT>';
XMLDocument1.Active:=true;
for i:=0 to XMLDocument1.DocumentElement.ChildNodes.Count-1 do
begin
Memo1.Lines.Add(
XMLDocument1.DocumentElement.ChildNodes[i].Attributes['time']+' '
+XMLDocument1.DocumentElement.ChildNodes[i].ChildNodes[0].Text
);
end;
clist.Free;
end;
uj5u.com熱心網友回復:
本想幫助你決議一下,一看XML不完整。最好你提供完整的XML標準的檔案。
uj5u.com熱心網友回復:
XML Data Binding + XMLDocument 不知道能不能滿足樓主的需求?uj5u.com熱心網友回復:
XML第三方決議控制元件很多的啊uj5u.com熱心網友回復:
簡單的決議,正則運算式是比較方便的。<msg time='(.*?)' [\s\S]*?<txt>(.*)\r\n </txt>\r\n</msg>
uj5u.com熱心網友回復:
這個不錯。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/86087.html
標籤:數據庫相關
上一篇:編一個小程序
