私は次のようにあるXMLファイルを持っている:特定のタグのテキストに基づいて、親の属性を取得する - XML
<customer>
<customerdetails id="80">
<account id="910">
<attributes>
<premium>true</premium>
<type>mpset</type>
</attributes>
</account>
<account id="911">
<attributes>
<premium>true</premium>
<type>spset</type>
</attributes>
</account>
</customerdetails>
</customer>
そのために私が持っている、ファイルを解析し、それから、必要な詳細情報を取得する必要がありますPythonのlxmlライブラリを使用しました。
XMLファイルから詳細を取得することができます。たとえば、ファイルの特定のタグからテキストを取得することができます。
from lxml import etree
def read_a_customer_section(self):
root = self.parser.getroot()
customer_id = "80"
account_id = "910"
type_details = root.findtext("customerdetails[@id='"+customer_id+"']/account[@id='"+account_id+"']/attributes/type")
print type_details
dd = ConfigParserLxml("dummy1.xml").read_a_customer_section()
これを使用して、特定のタグのテキストを期待通りに得ることができます。
今、私はテキストに基づいて親タグattibutesを取得する必要があります。例えば
私は、入力としてタイプ「mpset」を与える場合は、私が「customerdetails」 属性を見つける必要がある。また、 「アカウント」属性を取得することができるはずです。
誰かが同じことを手助けします。
希望があることを確認してください。そうでない場合は、私はもっと明確にしようとしています。
と一致し、
id
属性*
はワイルドカードでの取得であるあなたはそれがどのように動作するかを説明することができますか? – Murali@just simple xpath。私は私の答えを更新します。 –