xml 파일을 구문 분석하려고합니다. 태그에있는 텍스트는 성공적으로 (또는 그렇게 보인다) 파싱되지만 일부 태그에 포함되지 않은 텍스트로 출력하려고합니다. 다음 프로그램은 그냥 무시합니다.태그가없는 동안 xml 파일을 구문 분석합니다.
from xml.etree.ElementTree import XMLTreeBuilder
class HtmlLatex: # The target object of the parser
out = ''
var = ''
def start(self, tag, attrib): # Called for each opening tag.
pass
def end(self, tag): # Called for each closing tag.
if tag == 'i':
self.out += self.var
elif tag == 'sub':
self.out += '_{' + self.var + '}'
elif tag == 'sup':
self.out += '^{' + self.var + '}'
else:
self.out += self.var
def data(self, data):
self.var = data
def close(self):
print(self.out)
if __name__ == '__main__':
target = HtmlLatex()
parser = XMLTreeBuilder(target=target)
text = ''
with open('input.txt') as f1:
text = f1.read()
print(text)
parser.feed(text)
parser.close()
내가 구문 분석하려는 입력의 일부 : <p><i>p</i><sub>0</sub> = (<i>m</i><sup>3</sup>+(2<i>l</i><sub>2</sub>+<i>l</i><sub>1</sub>) <i>m</i><sup>2</sup>+(<i>l</i><sub>2</sub><sup>2</sup>+2<i>l</i><sub>1</sub> <i>l</i><sub>2</sub>+<i>l</i><sub>1</sub><sup>2</sup>) <i>m</i>) /(<i>m</i><sup>3</sup>+(3<i>l</i><sub>2</sub>+2<i>l</i><sub>1</sub>)) }.</p>
를 제공합니다. 물론 _html_ 파서가 필요하지 않습니까? – James
여기에서 생산됩니다 : http://wims.unice.fr/wims/en_tool-linear~linsolver.en.html 솔루션을 얻었을 때 소스를 보면 비슷한 것을 볼 수 있습니다. –
LaTeX 태그를 편집했습니다. ??? –