"lvl"노드의 수를 XML의 "에서"아래로 가져와야합니다. Dynamo에서 IronPython 2.7 및 elementtree를 사용합니다. 이것은 XML 예제 일뿐입니다. 사실 더 커졌습니다.Python XML - 노드 아래에 특정 노드를 계산하십시오.
내가 그것을 얻으려고 노력하지만 그것은 작동하지 않을 것이다 (나는 단지 아래의 첫 번째 방법을 내 코드에만 보여준다). 처음으로 : "그냥"요소를 계산합니다. 두 번째 : 모든 루프에 대한 텍스트 값을 별도의 목록에 삽입합니다. 그 후에 목록 요소를 계산할 수 있습니다.
<note>
<note2>
<yolo>
<to>
<type>
<game>
<name>Jani</name>
<lvl>111111</lvl>
<lvl>222222</lvl>
<fun>2222222</fun>
</game>
<game>
<name>Jani</name>
<lvl>111111</lvl>
<fun>2222222</fun>
</game>
</type>
</to>
<to>
<type>
<game>
<name>Bani</name>
<lvl>3333333</lvl>
<fun>44444444</fun>
</game>
</type>
</to>
</yolo>
</note2>
</note>
여기 내 코드입니다 :
여기 내 XML입니다
import clr
import sys
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
sys.path.append("C:\Program Files (x86)\IronPython 2.7\Lib")
import xml.etree.ElementTree as ET
import xml.etree.ElementTree as ET
xml="note.xml"
xpathstr=".//to//lvl"
tree = ET.parse(xml)
root = tree.getroot()
specific = root.findall(xpathstr)
list=[]
listcount=[]
for elem in specific:
list.extend(elem.itertext())
listcount.Add(len(elem))
print list,list2
그래서 나는 모든 루프 계산하려고 노력하지만, 난 단지 0 값 목록을 가져올 수. 제 XML의 경우 다음과 같은 결과를 기대합니다 : Listcount[3,1]
.
'yolo' 태그에 속한'lvl'의 수를 계산하는 것이 정확히 이해 되었습니까? –
실수를 저질렀습니다. "to"태그 아래의 모든 소리에 대해 계산해야합니다. 죄송합니다;) – Yuli