XMLのうち「lvl」ノードの数を「〜」より下にする必要があります。 私は、IronPython 2.7とelementtreeをDynamoで使用しています。 これは単なるXMLの例ですが、実際ははるかに大きくなっています。Python XML - ノードの下にある特定のノードをカウントする
私はそれを取得しようとする方法がありますが、それは動作しません(私は下のコードを最初に示しています)。 最初:「ちょうど」要素を数えます。 第2の:すべてのループのテキスト値を別々のリストに挿入します。そのあとでリスト要素を数えることができます。
<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
は、だから私はすべてのforループをカウントしてみたが、私は唯一の0の値のリストを取得します。 私のXMLには、次のような結果が期待されます:Listcount[3,1]
。
私は、 'yolo'タグに属する' lvl'のカウント数だけを正確に理解していますか? –
私は間違いを犯しました。私は、 "to"タグの下にあるすべてのlvlを数えなければなりません。ごめんなさい;) – Yuli