Re: [求救] 如何將不同歷史訊息合併、甚至排列成一 …
參考了專業大大的方式
用frontpage把訊息合併
一切都很順利
但是有一個狀況我一直沒辦法排除:
為什麼sessionID="x" x比較大的(新貼進去的)會顯示在最上面啊= =
用一樣的方式做了六個檔案只有一個正常讓新的顯示在最下面
其他五個都出現這種bug
是我哪裡做錯了嗎?(指令太長了用frontpage我沒有辦法看到最後面)
還是有推薦用什麼編譯器來處理
麻煩知道的板友告訴我
謝謝
※ 引述《chiuling (chiu)》之銘言:
:
: 合併對話記錄前
: 不可不知的知識
:
: 首先打開對話記錄的*.xml檔案,一開頭就會看到
: <?xml version="1.0"?>
: <?xml-stylesheet type='text/xsl' href='MessageLog.xsl'?>
: 不要動它們,接著看下一行
: ==============<Log FirstSessionID="數字" LastSessionID="數字">=================
: 在聊天記錄裡,對話會被分為很多個段落,
: 段落的計算方式是從 打開對話視窗聊第一句話~關掉對方視窗 就算一次
: ╭──────────────────────────────────╮
: │ 這個計數和日期無關,不會因為隔一天就從 1 計算,是會一直累計下去的 │
: ╰──────────────────────────────────╯
: 從這個例子來說 <Log FirstSessionID="1" LastSessionID="116">
: 1 和 116 就是對話段落的"起"與"迄"數字
: 也就是你們的累積的對話被分成116段這麼多~
: ╭──────────────────────────────────╮
: │ 雖然說這個計數和日期無關,但不同電腦和同一個人聊的記錄是分開計算的│
: │ 想要把分散的聊天記錄合併,這個數字就很重要,這會關係到對話記錄會不│
: │ 會按照你想要顯示的順序出現 │
: ╰──────────────────────────────────╯
: =====<Message Date="xxx" Time="xxx" …略… SessionID="x">…略… </Message>======
: msn每一句對話(按下enter送出就是一句),在對話記錄裡,
: 都會被包在<Message></Message>裡面,看看下面的例子
: (為說明方便,文字我做了省略,並且為了清楚表達也將文字跳行
: 實際的內容,標籤都是連接著沒有跳行,可以打開自己的檔案對照看)
: ╭────────────────────────────────────╮
: │<Message Date="…略…" Time="…略…" DateTime="…略…" SessionID="1"> │
: │<From> ﹋﹋﹋﹋﹋﹋ │
: │<User FriendlyName="這裡是發訊者的msn暱稱"/> │
: │</From> │
: │<To> │
: │<User FriendlyName="這裡是接訊者的msn暱稱"/> │
: │</To> │
: │<Text Style="font-family:微軟正黑體; color:#054002; "> 對話內容 </Text> │
: │</Message> │
: ╰────────────────────────────────────╯
: 在<Message></Message>還會有其它的標籤,在合併對話記錄時不需更動其它的標籤
: ╭──────────────────────────────────╮
: │ 註: │
: │ 我們稱被 "<" 和 ">" 符號包起來的文字為標籤, │
: │ 且結尾會用 "</" 和 ">" 包起來 │
: │ 例如:Message標籤 <Message></Message> │
: ╰──────────────────────────────────╯
: 前面有說過,聊天記錄裡,對話會被分為很多個段落,
: 所以在關掉視窗前,所聊的每一句話都是同一個SessionID
: 也就是在對話記錄裡會看到<Message></Message>的SessionID都是同樣的
: ╭───────────────────────────────────╮
: │ msn對話: │
: │ A:說 │
: │ 有颱風要來了 │
: │ B:說 │
: │ 是喔 │
: │ A:說 │
: │ 對啊,但是沒有颱風假,sad... │
: │ │
: │ 對話記錄.xml │
: │ <Message …略… SessionID="1">…略… 有颱風要來了</Text></Message> │
: │ <Message …略… SessionID="1">…略… 是喔</Text></Message> │
: │ <Message …略… SessionID="1">…略… 對啊,但是…</Text></Message> │
: ╰───────────────────────────────────╯
: 和前面一開始說的對話段落結合來看,檔案的結構就變成這樣
: ╭──────────────────────────────────╮
: │ <Log FirstSessionID="起數" LastSessionID="迄數"> │
: │ <Message …略… SessionID="1"></Message> │
: │ <Message …略… SessionID="1"></Message> │
: │ <Message …略… SessionID="1"></Message> │
: │ <Message …略… SessionID="2"></Message> │
: │ <Message …略… SessionID="2"></Message> │
: │ <Message …略… SessionID="2"></Message> │
: │ <Message …略… SessionID="3"></Message> │
: │ <Message …略… SessionID="3"></Message> │
: │ <Message …略… SessionID="3"></Message> │
: │ </Log> │
: ╰──────────────────────────────────╯
:
:
: 開始合併
: 對話記錄
:
: 當你手上有好幾個同一個聯絡人但不同時間的對話記錄檔案,
: 要先決定要把誰合併到誰
: ========================= 簡單型合併 ============================
: 所謂簡單型合併就是假設你手上有 a.xml 和 b.xml 都是跟甲聯絡人的對話記錄
: 而且兩個檔案的對話時間順序是一前一後
: 也就是說a.xml的時間都早於b.xml,所以要把b.xml的內容接在a.xml的後面
: 1.修改<Log>標籤
: 把a的對話段落的 迄數 + b的對話段落的 迄數 = 合併後對話段落的 迄數
: ╭────────────── 舉例來說 ──────────────────╮
: │ a.xml: <Log FirstSessionID="1" LastSessionID="116"> │
: │ b.xml: <Log FirstSessionID="1" LastSessionID="89"> │
: │ 合併後: <Log FirstSessionID="1" LastSessionID="205"> │
: ╰─────────────────────────────────────╯
: 2.修改 b.xml 的每一句對話的SessionID:
: ╭─────────────────────────────────────╮
: │ <Message …略… SessionID = "b原來SessionID + a的迄數"> …略…</Message> │
: │ ﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹌ │
: ╰─────────────────────────────────────╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.107.46
推
09/15 21:26, , 1F
09/15 21:26, 1F
→
09/15 21:26, , 2F
09/15 21:26, 2F
→
09/16 09:13, , 3F
09/16 09:13, 3F
推
09/16 16:11, , 4F
09/16 16:11, 4F
→
09/16 16:11, , 5F
09/16 16:11, 5F
→
09/16 16:11, , 6F
09/16 16:11, 6F
→
09/16 16:12, , 7F
09/16 16:12, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Instant_Mess 近期熱門文章
PTT數位生活區 即時熱門文章