Python Element를 사용하여 xml 속성을 추출하는 방법나무
용도:
<foo>
<bar key="value">text</bar>
</foo>
"가치"를 얻으려면 어떻게 해야 합니까?
xml.findtext("./bar[@key]")
오류를 던집니다.
이름이 지정된 요소의 첫 번째 인스턴스를 찾습니다.bar
속성 값을 반환합니다.key
.
In [52]: import xml.etree.ElementTree as ET
In [53]: xml=ET.fromstring(contents)
In [54]: xml.find('./bar').attrib['key']
Out[54]: 'value'
요소를 사용하여 XML에서 하위 태그 속성 값 가져오기나무
XML 파일을 파싱하고 다음을 가져옵니다.root
태그를 지정한 다음 사용[0]
우리에게 첫 아이 꼬리표를 줄 겁니다유사하게[1], [2]
후속 자식 태그를 제공합니다.하위 태그 사용 후.attrib[attribute_name]
그 속성의 가치를 얻기 위해서입니다.
>>> import xml.etree.ElementTree as ET
>>> xmlstr = '<foo><bar key="value">text</bar></foo>'
>>> root = ET.fromstring(xmlstr)
>>> root.tag
'foo'
>>> root[0].tag
'bar'
>>> root[0].attrib['key']
'value'
xml 콘텐츠가 파일에 있는 경우.아래 작업을 수행해야 다음을 얻을 수 있습니다.root
.
>>> tree = ET.parse('file.xml')
>>> root = tree.getroot()
다음 방법으로 xml에서 모든 속성을 가져올 수 있습니다(사전에서).
import xml.etree.ElementTree as etree
xmlString= "<feed xml:lang='en'><title>World Wide Web</title><subtitle lang='en'>Programming challenges</subtitle><link rel='alternate' type='text/html' href='http://google.com/'/><updated>2019-12-25T12:00:00</updated></feed>"
xml= etree.fromstring(xmlString)
def get_attr(xml):
attributes = []
for child in (xml):
if len(child.attrib)!= 0:
attributes.append(child.attrib)
get_attr(child)
return attributes
attributes = get_attr(xml)
print(attributes)
표정:
./bar[@key]
다음 뜻은 속성을 가진 아이들이란 뜻입니다.
속성을 선택하려면 다음과 같은 상대식을 사용합니다.
bar/@key
아이들의 특성이란 뜻입니다.
물론 lxml과 같이 완벽하게 호환되는 XPath 엔진을 사용하는 것을 고려해야 합니다.
dipenparm12 함수는 자식 속성을 반환하지 않습니다.함수가 재귀적이기 때문에 속성 목록은 각 호출에 대해 빈 목록으로 설정됩니다.이 기능을 사용하면 자녀가 반환됩니다.
import xml.etree.ElementTree as etree
xml= etree.fromstring(xmlString)
def get_attr(xml, attributes):
for child in (xml):
if len(child.attrib)!= 0:
attributes.append(child.attrib)
get_attr(child,attributes)
return attributes
attributes = get_attr(xml,[])
print(attributes)
나무 속으로 더 깊이 들어가기 위해 이런 종류의 함수를 사용할 수 있습니다.
root[1][2][0].tag # For displaying the nodes
root[1][2][0].text # For showing what's inside the node
언급URL : https://stackoverflow.com/questions/4573237/how-to-extract-xml-attribute-using-python-elementtree
'programing' 카테고리의 다른 글
IE 11에서 실행되지 않는 코드, Chrome에서 정상 작동 (0) | 2023.09.24 |
---|---|
워드프레스에서 직렬화된 데이터로 작업하기 (0) | 2023.09.24 |
ANSI-C에서 정적이란 무엇을 의미합니까? (0) | 2023.09.24 |
안드로이드에서 수평 리스트뷰를 만들려면 어떻게 해야 합니까? (0) | 2023.09.24 |
MySQL 및 1억 개 이상의 행이 있는 테이블 (0) | 2023.09.19 |