Python(パイソン) ,ソースプログラムリスト あり ,プログラム作ってみた ,[XML データ を、読み込み、そこに記述されている内容を、利用可能な形にする] を 行う

Python(パイソン) プログラム作ってみた インデックス へ
-----

2024.8.16 presented in [note] ( //note.com/runningWater/ )
2024.8.24 rewritten

----------
これ以降に記述されている内容は、このようなコンピューター・プログラムを制作した、というような事を、ただ、述べているに過ぎない。

以下の記述を読んだ人が、それを単に参考にする、というのであれば、問題は無いと、思われる。

しかし、記述されている内容に沿って、その人が、そこに記されているのと同様の制作や作業を行った際に、その制作、作業、コンピューターの作動の結果、使用されたコンピューター等、様々な方面において、何らかの問題が発生しない、という保証は、全くない。

その制作、作業、コンピューターの作動の結果、その人や、その人が所属している組織、その人が使用した様々な機器、インフラストラクチャー等の、身の上にどのような事が起ころうとも、私は一切、責任を負わない。

このプログラムは、Python(パイソン) 言語を使って、記述されている。
----------

様々なモジュールの記述において、XML形式で作成されているデータを、読み込んで、利用可能な形にしたい、というような時に、このモジュールの関数を呼び出して処理することができるように、ということで、これを制作した。

例えば、下記のような、XMLデータが、あるとしたとき、value_1、value_2、value_3 に指定されている値を、取得することが、できるようにしたのだ。

----------

<?xml version="1.0" encoding="UTF-8" ?>

<value_for_parameters_controling_process>

    <value_for_parameters
        value_1 = "value in value_1"
        value_2 = "value in value_2"
        value_3 = "value in value_3"
             
    >

    </value_for_parameters>

</value_for_parameters_controling_process>

----------

下記ソースリスト中の、後方にある、
# Test Run
の中で、行っているように、

[arg_list_of_attribute] に対して、取得したい項目の項目名( [value_1]等)を、指定して、インスタンスをコンストラクトすれば、それぞれの値を、取得できるように、した。

ファイル名 [XMLHandling.py]

-------------

import xml.etree.ElementTree as XMLEleTree

#===========================================
class XMLHandling :

    CV_CLASS_NAME = "XMLHandling"

    #------------------------------------------------------------
        # definition of constructer

    def __init__( self
                     , arg_requester_module
                     , arg_requester_function
                     , arg_path_of_XML_File
                     , arg_list_of_attribute
                ):

        methode_name = "constructer"

        print ( "==================================" )
        print ( "Enter into , Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
        print ( "    arg_requester_module = " + arg_requester_module
                   + " , arg_requester_function = " + arg_requester_function )
        print ( "==================================" )

        self.iv_path_of_XML_File = arg_path_of_XML_File
        print ( "self.iv_path_of_XML_File = " + self.iv_path_of_XML_File )

        self.iv_list_of_attribute = arg_list_of_attribute

        print ( "==================================" )
        print ( "Exit from , Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
        print ( "    arg_requester_module = " + arg_requester_module
                   + " , arg_requester_function = " + arg_requester_function )
        print ( "==================================" )

        return

    #------------------------------------------------------------
    def load_XML_data ( self
                         ,  arg_requester_module
                         ,  arg_requester_function ) :

        methode_name = "load_XML_data"

        print ( "==================================" )
        print ( "Enter into , Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
        print ( "    arg_requester_module = " + arg_requester_module
                   + " , arg_requester_function = " + arg_requester_function )
        print ( "==================================" )

        print ( "self.iv_path_of_XML_File = " + self.iv_path_of_XML_File )

              #read XML data ( get tree )
        self.iv_tree_of_XML = XMLEleTree.parse ( self.iv_path_of_XML_File )

        print ( "==================================" )
        print ( "Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
        print ( "    tree_of_XML gotten"  )
        print ( "==================================" )

        print ( "self.iv_path_of_XML_File = " + self.iv_path_of_XML_File )

        self.iv_root_of_XML = self.iv_tree_of_XML.getroot()

        print( "tree and root of XML was gotten" )

        print ( "==================================" )
        print ( "Exit from , Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
        print ( "    arg_requester_module = " + arg_requester_module
                   + " , arg_requester_function = " + arg_requester_function )
        print ( "==================================" )

    #------------------------------------------------------------
    def get_value_of_XML_data ( self
                      ,  arg_requester_module
                      ,  arg_requester_function
                      ,  arg_order_number_of_child_of_XML_data
                      ,  arg_order_number_of_list_of_attribute
                      ,  arg_message_display
                               ) :

        methode_name = "get_value_of_XML_data"

        index_value_1 = arg_order_number_of_child_of_XML_data - 1
        index_value_2 = arg_order_number_of_list_of_attribute - 1

        get_attribute_name = self.iv_list_of_attribute [ index_value_2 ]

        element_target = self.iv_root_of_XML [ index_value_1 ]
        get_value = element_target.get ( get_attribute_name )

        if ( arg_message_display == "Y" ) :

            print ( "==================================" )
            print ( "Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
            print ( "    arg_requester_module = " + arg_requester_module
                   + " , arg_requester_function = " + arg_requester_function )
            print ( "==================================" )

            print( "get_attribute_name = " + get_attribute_name )
            print( "get_value = " + str ( get_value ) )

            print ( "==================================" )
            print ( "Exit from , Class = " + XMLHandling.CV_CLASS_NAME
                      + " , methode = " + methode_name )
            print ( "    arg_requester_module = " + arg_requester_module
                   + " , arg_requester_function = " + arg_requester_function )
            print ( "==================================" )

        return  get_value

#=============================
# Test Run
#=============================

# methode_name_of_TestRun = "do TestRun"

# list_of_attribute = [
#                      "value_1"
#                     , "value_2"
#                     , "value_3"
#                    ]

#test = XMLHandling ( "___"
#                     , methode_name_of_TestRun
#                     , "E:/XML_test.xml"
#                     , list_of_attribute
#                    )
#test.load_XML_data (   XMLHandling.CV_CLASS_NAME
#                     , methode_name_of_TestRun
#                   )

#order_number_of_child_of_XML_data = 1
#message_display = "Y"

#for index in range ( len ( list_of_attribute ) ) :
#
#    value_of_XML_data = test.get_value_of_XML_data (
#                            XMLHandling.CV_CLASS_NAME
#                          , methode_name_of_TestRun
#                          , order_number_of_child_of_XML_data
#                          ,  ( index + 1 )
#                         ,  message_display
#                               )

#    print( "========================="  )

#    print( "order_number_of_child_of_XML_data = " , order_number_of_child_of_XML_data )
#    print( "index = " , index )
#    print( "value_of_XML_data = " + value_of_XML_data )

----------
Python(パイソン) プログラム作ってみた インデックス へ

この記事が気に入ったらサポートをしてみませんか?