XPath、Python、etreeを使用して値を抽出しようとしています。受け取った.xmlファイルには影響がなく、どういうわけか無効のようです。
私のメソッドは、調べたいテキストノードオブジェクトをすでに抽出しています。
# This is the tag.
textTag = lastExportTree.xpath("//TEXT_NODE[@PROPERTY = '%s']/TEXT[@ID = '%s']" % (key, id[1]))
# This is a part of the xml. I already have the text node I want to examine.
<TEXT ID="1001" STATE="5" LOCKED="false"><SYSTEMMESSAGE>CALBUY</SYSTEMMESSAGE>Hiho</TEXT>
<TEXT ID="1002" STATE="1" LOCKED="false"/>
<TEXT ID="1003" STATE="5" LOCKED="false">Stack</TEXT>
<TEXT ID="1004" STATE="1" LOCKED="false">Overflow</TEXT>
ID = "1003"のコンテンツにアクセスしたい場合は、次のように入力するだけです。
print(textTag.text); # Will print 'Stack'
ただし、ID = "1001"のタグには、SYSTEMMESSAGEタグも含まれています。コンテンツ「HiHo」にアクセスするにはどうすればよいですか?(textTag.textは機能しません!)この無効なxmlは私が受け取ったものですか?
ご回答ありがとうございます!