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(パイソン) プログラム作ってみた インデックス へ