Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中修改xml数据_Python_Xml_Powerpoint - Fatal编程技术网

在python中修改xml数据

在python中修改xml数据,python,xml,powerpoint,Python,Xml,Powerpoint,我正在尝试编辑pptx xml文件的一个属性,以便在幻灯片之间添加幻灯片,我知道有一个名为python pptx的模块,但它无法做到这一点 因此,所有内容都从一个文件“[Content\u Types].xml”开始,我要做的第一件事是在后面的/ppt/slides/slide3.xml之间插入一个字符串,然后将其他幻灯片的数量增加1 完整xml如下所示 <?xml version="1.0" encoding="UTF-8" standalone="true"?> -<Typ

我正在尝试编辑pptx xml文件的一个属性,以便在幻灯片之间添加幻灯片,我知道有一个名为python pptx的模块,但它无法做到这一点

因此,所有内容都从一个文件“[Content\u Types].xml”开始,我要做的第一件事是在后面的
/ppt/slides/slide3.xml
之间插入一个字符串,然后将其他幻灯片的数量增加1

完整xml如下所示

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
-<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide1.xml"/>
<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide2.xml"/>
<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide3.xml"/>
<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide4.xml"/>
<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide5.xml"/>
<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide6.xml"/>
</Types>

-

有什么建议吗

>P>不需要使用XML解析器,只需从文件中读取数据,并从代码中插入INS/<代码>您想要的位置,对于您的情况,将数据添加到文件的末尾而不将其插入中间并移位1,因为您的XML没有子树,无论如何,RESaUT将是相同的

with open('[Content_Type].xml', 'r') as fl:
    readout = fl.read()
spl = readout.split('><')
spl.insert(len(spl)-1, """Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide%d.xml"/""" %(slides+1))
final = '><'.join(spl)
with open('[Content_Type].xml', 'w') as fl:
    fl.write(final)
打开(“[Content\u Type].xml”,“r”)为fl:
读数=fl.read()
spl=读数。拆分('>