XML reader

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • q3537wh@gmail.com

    XML reader

    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"><Comman d Id="1" TS="12803169167 3686869"><Actio n
    Type="Start"><C ontent Id="300016768"
    AuthToken="1,12 68871847,115869 5466,9218,003E6 7312BB747CD94EF F1A15982C4FB"/></Action></Command></CommandList>

    15:52:50: [RESPONSE]
    <Response><Comm and Id="1" Status="Success "/><Result ActionType="Sta rt"
    CommandId="1" TS="12803169169 4557500"><Conte nt CST="1280316916 76430000"
    Id="300016768" Status="Opened" ><Group Audio="" Id="1" Name="Main Room"
    Owner="0" Type="Default"> <Member Audio="" AudioNotified=" "
    AudioConnection ="" AudioConnection Type="" AudioId="-1" Name="Unknown"
    PhoneNum="" QA="" Speaking="" ConnQ="0" Emoticon="" Id="0"
    JT="12803169167 6430000" 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 "/><Presentatio n Id="17" S="1"
    Status="Stopped "/><Presentatio n 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"><Comman d Id="2"
    TS="12803169170 9138553"><Desti nation ContentId="3000 16768"
    GroupId="1"><Me mber Id="0"/></Destination><Ac tion
    Type="Get"/></Command></CommandList>

    15:52:50: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="3"
    TS="12803169170 9338845"><Desti nation ContentId="3000 16768"/><Action
    Type="Get" Scope="Children "><Filter><Cond ition
    Type="Group"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="4"
    TS="12803169170 9438991"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion1"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="5"
    TS="12803169170 9438991"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion2"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="6"
    TS="12803169170 9438991"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion3"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="7"
    TS="12803169170 9539137"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion4"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="8"
    TS="12803169170 9539137"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion5"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="9"
    TS="12803169170 9539137"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion6"/></Filter></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="11"
    TS="12803169170 9639283"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Start"
    Notify="Group"> <Presentation 7/></Action></Command></CommandList>

    15:52:51: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="12"
    TS="12803169170 9639283"><Desti nation ContentId="3000 16768"
    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"><Comman d Id="13"
    TS="12803169170 9639283"><Desti nation ContentId="3000 16768"/><Action
    Type="Get" Scope="Children "><Filter><Cond ition
    Type="Audio"/></Filter></Action></Command></CommandList>

    15:52:52: [COMMAND]
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="14"
    TS="12803169170 9939721"><Desti nation ContentId="3000 16768"/><Action
    Type="Get"><Pro perty Name="Door"/></Action></Command></CommandList>

  • Jürgen Kahrs

    #2
    Re: XML reader

    q3537wh@gmail.c om wrote:
    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.
    Use an AWK script. The following script works, I tested it.

    BEGIN {
    n=1
    filename = "quasi_xml_dat_ " n ".xml"
    }

    {
    if (/^[0-9]*:/) {
    if (n>0)
    close(filename)
    filename = "quasi_xml_dat_ " ++n ".xml"
    } else {
    print $0 >filename
    }
    }

    The result you get is something like this:
    ls -l *xml
    -rw-r--r-- 1 kahrs users 268 2006-11-11 19:52 quasi_xml_dat_1 0.xml
    -rw-r--r-- 1 kahrs users 268 2006-11-11 19:52 quasi_xml_dat_1 1.xml
    -rw-r--r-- 1 kahrs users 268 2006-11-11 19:52 quasi_xml_dat_1 2.xml
    -rw-r--r-- 1 kahrs users 235 2006-11-11 19:52 quasi_xml_dat_1 3.xml
    -rw-r--r-- 1 kahrs users 226 2006-11-11 19:52 quasi_xml_dat_1 4.xml
    -rw-r--r-- 1 kahrs users 249 2006-11-11 19:52 quasi_xml_dat_1 5.xml
    -rw-r--r-- 1 kahrs users 213 2006-11-11 19:52 quasi_xml_dat_1 6.xml
    -rw-r--r-- 1 kahrs users 1 2006-11-11 19:52 quasi_xml_dat_2 .xml
    -rw-r--r-- 1 kahrs users 254 2006-11-11 19:52 quasi_xml_dat_3 .xml
    -rw-r--r-- 1 kahrs users 792 2006-11-11 19:52 quasi_xml_dat_4 .xml
    -rw-r--r-- 1 kahrs users 222 2006-11-11 19:52 quasi_xml_dat_5 .xml
    -rw-r--r-- 1 kahrs users 248 2006-11-11 19:52 quasi_xml_dat_6 .xml
    -rw-r--r-- 1 kahrs users 268 2006-11-11 19:52 quasi_xml_dat_7 .xml
    -rw-r--r-- 1 kahrs users 268 2006-11-11 19:52 quasi_xml_dat_8 .xml
    -rw-r--r-- 1 kahrs users 268 2006-11-11 19:52 quasi_xml_dat_9 .xml
    cat quasi_xml_dat_1 0.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <CommandList Id="1"><Comman d Id="7"
    TS="12803169170 9539137"><Desti nation ContentId="3000 16768"
    GroupId="1"/><Action Type="Get" Scope="Children "><Filter><Cond ition
    Type="Presentat ion4"/></Filter></Action></Command></CommandList>
    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.
    Yes, the time stamps mess up the format.
    The script will work for millions of lines.
    Notice that the script is only about 80% of a
    complete solution because some of your quasi-XML
    section have no XML declaration header.

    Comment

    Working...