1

私は次のXML構造を持っています

<root>
    <OuterLevel>
        <Node>
            <Name>NodeA</Name>
        </Node>
        <Node>
            <Name>NodeB</Name>
        <Node>
        <SpecialNode>
            <Name>NodeZ</Name>
        </SpecialNode>
    </OuterLevel>
 </root>

Python の ElementTree XML API を読んで、要素のタグを文字列と比較したいと思いました。http://docs.python.org/library/xml.etree.elementtree.htmlにあるドキュメントによると、要素のタグは文字列です。同等性をテストするために、次の python コードを作成しました。

import xml.etree.ElementTree as ET
tree = ET.parse('sampleFile.xml')
root = tree.getroot()

if root[0][0].tag != 'Node'
print("not equal")

ただし、pythonコードを実行したとき。Node.js の後の ' を指すニンジン記号を含む SyntaxError: 無効な構文 root[0][0].tag の結果を出力できます。それを文字列と比較することはできませんか?

4

1 に答える 1

1

ifステートメントの後にコロンが必要です。例えば:

if root[0][0].tag != 'Node':
    print("not equal")

構文エラーは、コードを実行しようとしたときではなく、コードを理解しようとしたときにエラーが発生したことを意味します。問題の根本原因を見つけやすくなるため、注目に値します。

于 2012-10-08T20:16:46.493 に答える