2012-07-20 4 views
0

나는 xhtml에 대해 아무 것도 안다. 그리고 테이블을 편집하기 위해 파이썬 스크립트를 작성해야합니다. 그러나 내가 편집해야하는 위키 페이지는 파이썬 xml 파서가 읽을 수없는 몇 가지 이유 때문에 생겨났다. 위키의 샘플 페이지입니다. 아무도 이것으로 도대체 뭐가 잘못 됐는지 말해 줄 수 있니?Python으로이 XML을 읽을 수 없습니까?

<h2>test</h2><p>&nbsp;</p><p><strong>I am a test</strong></p><p>&nbsp;</p><p>Now I need a table</p><table> 
<tbody> 
<tr> 
    <th>name</th> 
    <th>column</th> 
</tr> 
<tr> 
    <td>data1</td> 
    <td><p>data2</p></td> 
</tr> 
</tbody> 
</table><p>&nbsp;</p><p>&nbsp;</p> 

다음은이 코드를 읽으려는 시도입니다. 내가 여러 번 반복하고 다른 XML 파서의 pulldom, xml.dom, ElementTree, minidom 등 그들은 모두 같은 예외를 제공하고 겪었어요 :

from xml.etree import ElementTree as ET 
def main(argv): 
    fileName = "/home/robbnic/Source/scripts/Gesture Service Dashboard.txt" 
    text = readFromFile(fileName) 
    try: 
     for event, elem in ET.iterparse(fileName): 
      if elem.tag == "table": 
       print "Hot damn!" 
       elem.clear() 
    except ET.ParseError as pe: 
     print pe.message 
     print pe.msg 
     print pe.args 
     print pe.filename 
    except: 
     print "Unexpected error:", sys.exc_info()[0] 
     raise 

내가 점점 계속 예외 오류가 언 바운드 접두어 , 그러나 나는 xml (또는이 경우 xhtml)에 관해서는 거의 알지 못한다. 나는 단지 무슨 일이 일어나고 있는지 모른다.

+1

xml이 아닌 html처럼 보입니다. – Daenyth

+0

문제의 원인이되는 코드를 포함시킬 수 있습니까? – Trevor

+0

아, 합류 사이트에서 xhtml이 있어야합니다. Lemme 내 게시물을 편집하십시오! – user1527741

답변

2

하나의 루트 태그가 누락되었습니다. 당신은 복수형을 가질 수 없습니다 (예 : h2, p, table 등).

+0

뭐, 내가 말하자면, 단지 그곳에 뭔가가 붙어 있다는 뜻인데 ? – user1527741

+0

예. 정확한 태그 이름은 유효한 XML 인 한 끔찍하게 중요하지 않습니다. 그리고 그 후에 그것을 닫는 것을 잊지 마십시오. –

관련 문제