擅长:python、mysql、java
<p>您确实希望在这里切换到使用<a href="http://lxml.de/" rel="nofollow">^{<cd1>}</a>,因为这样您就可以使用XPath查询:</p>
<pre><code>from lxml import etree as ET
os.chdir("/Users/paulsallen/workspace/fforce/FForce Dev Account/config/objects/")
objs = glob.glob("*.object")
fields_dict = {}
for filename in objs:
root = ET.parse(filename).getroot()
required = root.xpath('.//n:fullName[../n:required/text()="true"]/text()',
namespaces={'n': tree.nsmap[None]})
fields_dict[os.path.splitext(filename)[0]] = required
</code></pre>
<p>使用该代码,您将得到一个列表字典;每个键是一个文件名(不带扩展名),每个值是一个必需字段的列表。在</p>
<p>XPath查询在默认名称空间中查找<code>fullName</code>元素,这些元素中有一个<code>required</code>元素与其中的文本<code>'true'</code>同级。然后它获取每个匹配元素的包含文本,这是一个我们可以存储在字典中的列表。在</p>