擅长:python、mysql、java
<blockquote>
<p>I tried to use the .findall function but the Documentation says quotes
aren't allowed</p>
</blockquote>
<p>我想您是在<a href="https://docs.python.org/3/library/xml.etree.elementtree.html#supported-xpath-syntax" rel="nofollow noreferrer">the documentation</a>语法示例中指的<code>[@attrib='value']</code>:</p>
<blockquote>
<p>The value cannot contain quotes.</p>
</blockquote>
<p>它只是说值不能包含引号。XPath中仍然需要引号来指示字符串</p>
<p>试试看</p>
<pre><code>for child in root.findall(".//*[@caseSensitive='false']"):
print(child.tag, child.attrib)
</code></pre>
<p>对于问题的第二部分(忽略<code>Operator="NOTEQUAL"</code>),我认为在ElementTree中使用XPath无法做到这一点。它的XPath支持非常有限</p>
<p>不过你可以用<a href="https://lxml.de/xpathxslt.html#xpath" rel="nofollow noreferrer">XPath in lxml</a>来做</p>
<pre><code>from lxml import etree
tree = etree.parse("Bx_N63x_Befundverifikation_Komplett.xml")
for input_data in tree.xpath(".//*[@caseSensitive='false'][not(@Operator='NOTEQUAL')]/@inputData"):
print(input_data)
</code></pre>