首先,我对python相对较新,我正在尝试使用lxml和etree。我目前有一个python文件(generateXML.py),它在xml中生成一个模板。我正在使用lxml库和etree。例如:
def generate_tree(self):
parent_root = etree.Element("PARENT")
first_child = etree.SubElements(parent_root, "first_child").text = "FIRST"
second_child = etree.SubElements(parent_root, "second_child").text = "SECOND"
third_child = etree.SubElements(parent_root, "third_child").text = "THIRD"
这会创建一个包含父节点和三个子节点的xml文件。
现在我有另一个名为editXML.py的文件,它根据从命令行运行时传入的参数替换子文本。
from generateXML import generate_tree
def generate_new_tree():
#code to replace filler names
当我运行" python editXML时Tim Tom Tony"从命令行,我想替换" FIRST"与" Tim"," SECOND"与#34; Tom"和" THIRD"和托尼一起
我的问题基本上是如何从editXML.py中的generateXML.py访问变量first_child,second_child和third_child。 我试过了
from generateXML import generate_tree
但我似乎无法访问这样的变量。任何帮助在这里都会有所帮助
答案 0 :(得分:0)
更改以下内容:
def generate_tree():
...
return parent_root
from generateXML import generate_tree
def generate_new_tree():
pList = ['Tim', 'Tom','Tony']
root = generate_tree()
for i, child in enumerrate(root):
child.text = pList[i]
for child in root:
print(child.text)