【问题标题】:how to write new xml file with same header如何编写具有相同标题的新xml文件
【发布时间】:2020-07-17 14:37:01
【问题描述】:

我有一个以这个为标题的xml文件

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='\\segotn12805\ppr\PPRData3\StyleSheet\PPRData3.xslt'?>

当我修改文件时,我使用 .write(例如)

mytree.write('output.xml')

但输出文件不包含标题信息。 输出文件的前两行是这样的

<ns0:pprdata xmlns:ns0="http://ManHub.PPRData">
  <ns0:Group name="Models">

关于如何将标题信息添加到输出文件的任何想法?

【问题讨论】:

    标签: python xml header namespaces


    【解决方案1】:

    第一行是 XML declaration。它是可选的,如果未指定,解析器将采用 UTF-8。

    第二行是processing instruction

    如果您提供更多代码来显示您在做什么会很有帮助,但我怀疑您使用的是 ElementTree。 documentation has this note 表示默认情况下会跳过这些:

    注意 并非 XML 输入的所有元素最终都会成为解析树的元素。目前,此模块跳过输入中的任何 XML cmets、处理指令和文档类型声明。尽管如此,使用该模块的 API 构建的树而不是从 XML 文本中解析的树中可以包含 cmets 和处理指令;它们将在生成 XML 输出时包含在内。可以通过将自定义 TreeBuilder 实例传递给 XMLParser 构造函数来访问文档类型声明。

    作为suggested in this answer,您可能想尝试使用lxml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      相关资源
      最近更新 更多