Q
q3537wh
Is there a program out there that can take a quasi-XML file and make it
user-friendly and easy to read? By quasi-XML I mean a plain text file
that is in the format below.
I know the time stamps messes up the format a bit. And these logs have
hundreds, thousands of lines. You can see why I'm looking for something
that can help me read them.
TIA.
15:52:46: [START] ===== Session Started 2006-09-19 15:52:46, UserRole
= leader
15:52:47: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="1" TS="128031691673686869"><Action
Type="Start"><Content Id="300016768"
AuthToken="1,1268871847,1158695466,9218,003E67312BB747CD94EFF1A15982C4FB"/></Action></Command></CommandList>
15:52:50: [RESPONSE]
<Response><Command Id="1" Status="Success"/><Result ActionType="Start"
CommandId="1" TS="128031691694557500"><Content CST="128031691676430000"
Id="300016768" Status="Opened"><Group Audio="" Id="1" Name="Main Room"
Owner="0" Type="Default"><Member Audio="" AudioNotified=""
AudioConnection="" AudioConnectionType="" AudioId="-1" Name="Unknown"
PhoneNum="" QA="" Speaking="" ConnQ="0" Emoticon="" Id="0"
JT="128031691676430000" Name="5000038" Pid="" Role="Leader" S="1"
Status="Added" Type="Data"/><Chat Id="2" Owner="0" S="0"
Status="Started"/><Recorder Id="3" S="1"
Status="Stopped"/><Presentation Id="17" S="1"
Status="Stopped"/><Presentation Id="18" S="1" Status="Stopped"/><AppS
Id="19" S="1" Status="Stopped"/><File Id="22" S="1"
Status="Stopped"/></Group></Content></Result></Response>
15:52:50: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="2"
TS="128031691709138553"><Destination ContentId="300016768"
GroupId="1"><Member Id="0"/></Destination><Action
Type="Get"/></Command></CommandList>
15:52:50: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="3"
TS="128031691709338845"><Destination ContentId="300016768"/><Action
Type="Get" Scope="Children"><Filter><Condition
Type="Group"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="4"
TS="128031691709438991"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation1"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="5"
TS="128031691709438991"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation2"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="6"
TS="128031691709438991"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation3"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="7"
TS="128031691709539137"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation4"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="8"
TS="128031691709539137"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation5"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="9"
TS="128031691709539137"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation6"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="11"
TS="128031691709639283"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Start"
Notify="Group"><Presentation7/></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="12"
TS="128031691709639283"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Start"
Notify="Group"><Note/></Action></Command></CommandList>
15:52:52: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="13"
TS="128031691709639283"><Destination ContentId="300016768"/><Action
Type="Get" Scope="Children"><Filter><Condition
Type="Audio"/></Filter></Action></Command></CommandList>
15:52:52: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="14"
TS="128031691709939721"><Destination ContentId="300016768"/><Action
Type="Get"><Property Name="Door"/></Action></Command></CommandList>
user-friendly and easy to read? By quasi-XML I mean a plain text file
that is in the format below.
I know the time stamps messes up the format a bit. And these logs have
hundreds, thousands of lines. You can see why I'm looking for something
that can help me read them.
TIA.
15:52:46: [START] ===== Session Started 2006-09-19 15:52:46, UserRole
= leader
15:52:47: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="1" TS="128031691673686869"><Action
Type="Start"><Content Id="300016768"
AuthToken="1,1268871847,1158695466,9218,003E67312BB747CD94EFF1A15982C4FB"/></Action></Command></CommandList>
15:52:50: [RESPONSE]
<Response><Command Id="1" Status="Success"/><Result ActionType="Start"
CommandId="1" TS="128031691694557500"><Content CST="128031691676430000"
Id="300016768" Status="Opened"><Group Audio="" Id="1" Name="Main Room"
Owner="0" Type="Default"><Member Audio="" AudioNotified=""
AudioConnection="" AudioConnectionType="" AudioId="-1" Name="Unknown"
PhoneNum="" QA="" Speaking="" ConnQ="0" Emoticon="" Id="0"
JT="128031691676430000" Name="5000038" Pid="" Role="Leader" S="1"
Status="Added" Type="Data"/><Chat Id="2" Owner="0" S="0"
Status="Started"/><Recorder Id="3" S="1"
Status="Stopped"/><Presentation Id="17" S="1"
Status="Stopped"/><Presentation Id="18" S="1" Status="Stopped"/><AppS
Id="19" S="1" Status="Stopped"/><File Id="22" S="1"
Status="Stopped"/></Group></Content></Result></Response>
15:52:50: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="2"
TS="128031691709138553"><Destination ContentId="300016768"
GroupId="1"><Member Id="0"/></Destination><Action
Type="Get"/></Command></CommandList>
15:52:50: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="3"
TS="128031691709338845"><Destination ContentId="300016768"/><Action
Type="Get" Scope="Children"><Filter><Condition
Type="Group"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="4"
TS="128031691709438991"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation1"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="5"
TS="128031691709438991"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation2"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="6"
TS="128031691709438991"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation3"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="7"
TS="128031691709539137"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation4"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="8"
TS="128031691709539137"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation5"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="9"
TS="128031691709539137"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Get" Scope="Children"><Filter><Condition
Type="Presentation6"/></Filter></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="11"
TS="128031691709639283"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Start"
Notify="Group"><Presentation7/></Action></Command></CommandList>
15:52:51: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="12"
TS="128031691709639283"><Destination ContentId="300016768"
GroupId="1"/><Action Type="Start"
Notify="Group"><Note/></Action></Command></CommandList>
15:52:52: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="13"
TS="128031691709639283"><Destination ContentId="300016768"/><Action
Type="Get" Scope="Children"><Filter><Condition
Type="Audio"/></Filter></Action></Command></CommandList>
15:52:52: [COMMAND]
<?xml version="1.0" encoding="UTF-8"?>
<CommandList Id="1"><Command Id="14"
TS="128031691709939721"><Destination ContentId="300016768"/><Action
Type="Get"><Property Name="Door"/></Action></Command></CommandList>