I 종류의 XML 파일이파이썬과 아름다운 수프 - 값을 받고 텍스트 파일에 저장
<file>
<record>
<type>a</type>
<number>2</number>
</record>
<record>
<type>b</type>
<number>9</number>
</record>
등과 같은 관련 정보의 많은 레코드가 들어있는
내가 원하는 BS 모든 XML 파일을 읽어과 열의에 의해 나에게 결과를 제공하기 위해 :
2
B (9) 등
EDIT
xml 파서가 설치되어 있고 bs4 xml 모드를 사용하고 있습니다. 내가 얻을 그러나 나는 더 이상 오류가 발생하지 않습니다
AB
2 9
대신
을 2
B (9)
새로운 코드 :
from bs4 import BeautifulSoup
soup = BeautifulSoup(open('file.xml'),"xml")
with open('output.txt') as f:
for type1,number in (soup.findall('type'),soup.findall('number')):
f.write ('%s\t%s\n' % (type1.text, number.text))
2 편집 :
나는 XML 파일에서 3 레코드를 추가 할 경우에, 나는 다음과 같은 오류
역 추적 (마지막으로 가장 최근에 호출) 수 : 을에 파일 "multixmlsript.py", 8 호선을, (soup.findAll ('유형'), soup.findAll ('수'))의 타입 1, 번호 : ValueError를이 : 너무 많은 값은 당신이 HTML위한 것입니다 BeautifulSoup
을 사용했다
BeautifulSoup은 XML이 아닌 HTML에 더 적합합니다. 최소한'lxml'을 설치하고 BS가 행동을 적절하게 조정하도록하기 위해'BeautifulSoup (file, parser = 'xml')'을 사용하십시오. –
실제로'TypeError'를 throw하는 코드를 보여 주거나 적어도 전체 추적에서만. 오류 메시지가 여기에있는 것과 일치하지 않습니다. –