태그의 모든 이름 모르고 XML 파일의 태그와 텍스트 얻는 방법 :파이썬 아름다운 스프 심지어이 같은 XML 파일이
<a>
<b>1</b>
<c>2</c>
<d>
<e>3</e>
</d>
</a>
<a>
<c>4</c>
<f value ="something">5</f>
<g value = "other"></g>
</a>
을하고 내가 가진 dicts의 목록을 원하는 태그 및 텍스트. 예컨대 :
[{'b':1, 'c':2, 'e':3}, {'c':4, 'f value="something"':5, 'g value = "other"':None}]
그것은 큰 XML 파일 그리고 그것은 표준 없습니다, 그래서 난 단지 <a>
가 존재하는 것을 알고 나는이 태그 내부의 모든 정보를 원한다.
나는 Beautiful Soup 4를 이미 시도했지만 텍스트 부분 만 검색 할 수있었습니다.
내 코드
def ProcessXml(xmlFile):
infile = open(xmlFile, 'r')
contents = infile.read()
soup = BeautifulSoup(contents,'xml')
units = soup.find_all('a')
unitsList = []
for i in units:
resultType = i.text,i.next_sibling
resultType = resultType[0].splitlines()
for j in resultType:
if j == '':
resultType.remove(j)
unitsList.append((resultType))
return unitsList
내 출력 :
[['1','2','3'],['4','5']]
이것은 bs4에서 가능합니다. 그 중 어떤 부분이 당신에게 효과가 없었습니까? – TankorSmash
필자는 bs4와 python을 처음 접했을 뿐이다. 단위 = soup.find_all ('a') 단위는 : resultType = i.text, i.next_sibling @TankorSmash 고맙다 – 1pa
편집 할 수 있습니까? 귀하의 질문에? 그러면 다른 사람들이 귀하의 질문에 답변하는 데 도움이됩니다. 포맷되지 않은 코드를 읽기가 어렵습니다. – TankorSmash