2
정보를 가져와 내 파이썬 모듈에서 사용하려고하는 로그 파일 (log4j xml-ish 형식)이 있습니다. 이 파일을 XML처럼 처리 할 수 있습니까? 내 직감은 나에게 말하고있다 ... 그렇지 않다면, 데이터를 파싱하는 가장 좋은 방법은 무엇인가? 아래는 로그 파일의 섹션입니다. 이 파일에는 표준 doctype이나 버전 헤더가 없으므로 "xml-ish"라고했습니다.Python에서 log4j 구문 분석
<log4j:event
logger="com.hp.cp.elk.impl.subscriptions.AsyncSimpleSubscriptionManager"
timestamp="1352320517430" level="DEBUG" thread="Thread-77">
<log4j:message><![CDATA[Broadcasting signals to subscribers...]]></log4j:message>
</log4j:event>
<log4j:event logger="com.hp.cp.jdf.idp.queue.IDPJobProgressMonitor"
timestamp="1352320517430" level="DEBUG" thread="IDPJobProgressMonitorThread">
<log4j:message><![CDATA[[JDFQueueEntry[ --> JDFAutoQueueEntry[ --> JDFElement[
--> <?xml version="1.0" encoding="UTF-8"?><QueueEntry
xmlns="http://www.CIP4.org/JDFSchema_1_1"
DescriptiveName="H44E61-6.pdf" DeviceID="HPPRO1-SM1"
EndTime="2012-11-07T10:58:18-08:00" JobID="Default" Priority="50"
QueueEntryID="d5fbbe98a1194e0da573b51a0c8040fb" Status="Completed"
SubmissionTime="2012-11-06T16:35:06-08:00"> <Comment AgentName="CIP4 JDF Writer
Java" AgentVersion="1.4a BLD 63" ID="c_121106_163506894_000804"
Name="JobSpec">WBG_4C_Flat_21up_BusCards_Duplex</Comment>
</QueueEntry>
] ] ]] queue entries changed.]]></log4j:message>
</log4j:event>
<log4j:event logger="com.hp.cp.jdf.idp.queue.IDPJobProgressMonitor"
timestamp="1352320517430" level="DEBUG" thread="IDPJobProgressMonitorThread">
<log4j:message><![CDATA[no active queue entries changed.]]></log4j:message>
</log4j:event>
지저분한 코드로 불편을 끼쳐 드려 죄송합니다. 형식화에 대한 아이디어를 얻으려고합니다. 어쨌든, 현재 나는 가치를 끌어 내려고 노력 중입니다. QueueEntryID="d5fbbe98a1194e0da573b51a0c8040fb"
제안이 있습니까? 고맙습니다!
그게 내가 듣고 싶었던거야! DOM은 이미 내 고향입니다. 그래서 나는 그 장면을 포기하고 내가 끌어낼 수있는 것을 봅니다. –