繁体   English   中英

使用 Python 创建和写入 XML 文件

[英]Creating and writing an XML file with Python

我是 Python 的新手。 我已经搜索了好几个小时,但找不到合适的答案。

我正在尝试从头开始创建一个 XML ,它将通过用户提供的信息来完成,该文件将被写入用户选择的路径。

我见过许多不同的方法,唯一对我有用且没有各种错误的方法不包括漂亮的打印,并且所有 XML 都在一条线上。

请问用什么来做这个?

非常感谢,

XML 文件将如下所示:

  <?xml version="1.0" encoding="utf-8"?>
    <ScriptTaskDto xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Test" Timeout="00:00:00" Id="4e03bd61-1685-490d-9478-6e73ee4a31e8">
      <Properties>
        <PropertyElementDto Name="User" EvalutionType="User" />
      </Properties>
      <ProjectRepository>UserRepository</ProjectRepository>
      <ProjectName>ProjectName</ProjectName>
      <ProjectVersion Val="1.9.0.0" />
      <ReleaseAllVariablesAtEndTest xsi:nil="true" />
      <Sequence name="sequence" Timeout="00:00:00" Id="d5fdf550-3fcd-4d81-9e0c-dbb8823d6545" NumberOfIteration="1">
        <TaskCollection>
          <SDKRequest name="Name" Description="Description" Timeout="00:00:00" Id="acb231ba-0f96-4308-a6eb-c2ee00fdf102" service="DashboardService" method="xxx" ExpectedDuration="xxx">
            <args>
              <arg xsi:type="xsd:string">Name</arg>
              <arg xsi:type="xsd:float">10</arg>
            </args>
          </SDKRequest>
<SDKRequest name="Name" Description="Description" Timeout="00:00:00" Id="acb231ba-0f96-4308-a6eb-c2ee00fdf102" service="DashboardService" method="xxx" ExpectedDuration="xxx">
            <args>
              <arg xsi:type="xsd:string">Name</arg>
              <arg xsi:type="xsd:float">10</arg>
            </args>
          </SDKRequest>
          <Sleep name="EtapeAttente" Timeout="00:00:00" Id="5b6e68cc-1b6b-43f7-b44b-6e644181bf44" ExpectedDuration="00:00:00" DelayMilliseconds="60000" />
        </TaskCollection>
      </Sequence>
    </ScriptTaskDto>

对于漂亮的格式 xml 并存储在文件中,您可以这样做:

import xml.dom.minidom
xml_unpretty = "<foo>hello<bar>22</bar></foo>"
xml_pretty = xml.dom.minidom.parseString(xml_unpretty).toprettyxml(indent="    ",encoding="utf8")
myfile = open("foo.xml","w").write(xml_pretty.decode())

结果:文件看起来像这样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM