2014-05-12 5 views
0

사용자 입력을 특정 태그의 속성 값으로 사용하여 중첩 태그로 XML 파일을 구문 분석하는 방법에 대한 도움말이 필요합니다. 예를 들어 대한파이썬을 사용하여 중첩 태그에 대한 XML 구문 분석

:

XML 코드는 12 매핑을 가지고 있으며, 우리는 사용자 입력함으로써 특정 매핑 정보를 인쇄로 아래 매핑 이름 "m_IF1_TD_SALESORDER_STG_PR4_VBPA_BUSINESS_PARTNER"을 선택합니다.

<MAPPING NAME="m_IF1_TD_SALESORDER_STG_PR4_VBPA_BUSINESS_PARTNER" DESCRIPTION="Data Mapping for loading Sales Order Business Partners from the staging database for PR4." OBJECTVERSION="1" ISVALID="YES" VERSIONNUMBER="1"> 
       <TRANSFORMATION NAME="sq_STG_PR4_VBPA" DESCRIPTION="" TYPE="Source Qualifier" OBJECTVERSION="1" REUSABLE="NO" VERSIONNUMBER="1"> 
        <TRANSFORMFIELD NAME="MANDT" DESCRIPTION="" DATATYPE="string" PORTTYPE="INPUT/OUTPUT" PRECISION="3" SCALE="0" PICTURETEXT="" DEFAULTVALUE="" EXPRESSION="MANDT" EXPRESSIONTYPE="GENERAL"/> 
        <TRANSFORMFIELD NAME="VBELN" DESCRIPTION="" DATATYPE="string" PORTTYPE="INPUT/OUTPUT" PRECISION="10" SCALE="0" PICTURETEXT="" DEFAULTVALUE="" EXPRESSION="VBELN" EXPRESSIONTYPE="GENERAL"/> 
        <TRANSFORMFIELD NAME="POSNR" DESCRIPTION="" DATATYPE="decimal" PORTTYPE="INPUT/OUTPUT" PRECISION="6" SCALE="0" PICTURETEXT="" DEFAULTVALUE="" EXPRESSION="POSNR" EXPRESSIONTYPE="GENERAL"/> 
        <TRANSFORMFIELD NAME="PARVW" DESCRIPTION="" DATATYPE="string" PORTTYPE="INPUT/OUTPUT" PRECISION="2" SCALE="0" PICTURETEXT="" DEFAULTVALUE="" EXPRESSION="PARVW" EXPRESSIONTYPE="GENERAL"/> 

답변

0

XML ElementTree module of python을 사용하는 것이 좋습니다.

매우 간단합니다. 예를 들어 :

import xml.etree.ElementTree as ET 
tree = ET.parse('/filename.xml') 
root = tree.getroot() 
for subchild in root.findall('subchildName'): 
    print(subchild.get('subchildAttribute') 
+0

생수 야쉬 감사하지만 내 샘플 코드에서 우리의 정확한 요구 사항은 아닙니다 우리가 12 매핑과 각 매핑 내에서 20 개 이상의 변환을 가지고, 사용자의 입력은 변환 이름이어야하며 표시해야 그 변환 명 내의 모든 속성 및 아이 요소 – user3514648