如何将根添加到没有单个根标签的现有 XML

2023-12-15

我有一个 XML 文件,它没有单个根标签。我想向此 XML 文件添加一个新的根标记。

下面是现有的 XML:

<A>
    <Val>123</Val>
</A>

<B>
    <Val1>456</Val1>
</B>

现在我想添加根标记“X”,因此最终的 XML 将如下所示:

<X>
  <A>
     <Val>123</Val>
  </A>

  <B>
     <Val1>456</Val1>
  </B>
</X>

我尝试使用下面的Python代码:

from xml.etree import ElementTree as ET  
root = ET.parse(Input_FilePath).getroot()   
newroot = ET.Element("X")    
newroot.insert(0, root)    
tree = ET.ElementTree(newroot)    
tree.write(Output_FilePath)

但在第一行我收到以下错误:

xml.etree.ElementTree.ParseError: junk after document element: line 4, column 4

正如@kjhughes 的评论中所指出的,XML 规范要求文档必须具有单个根元素。

from xml.etree import ElementTree as ET

node = ET.parse(Input_FilePath)
xml.etree.ElementTree.ParseError: junk after document element: line 4, column 0

您需要手动读取文件并自行添加标签:

from xml.etree import ElementTree as ET

with open(Input_FilePath) as f:
    xml_string = '<X>' + f.read() + '</X>'

node = ET.fromstring(xml_string)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将根添加到没有单个根标签的现有 XML 的相关文章

  • 需要根据数据框中的行号应用不同的公式

    我正在努力在数据框中找到某种移动平均值 该公式将根据正在计算的行数而变化 实际场景是我需要计算Z列 Edit 2 以下是我正在使用的实际数据 Date Open High Low Close 0 01 01 2018 1763 95 176
  • 函数名称未定义

    我有一段代码 看起来像这样 if name main main def main print hello 但是 当我尝试运行此代码时 出现错误 NameError 名称 main 未定义 我是否没有在函数 def main 的第一行定义名称
  • 使用ideone时如何传入命令行参数?

    我正在使用 ideone 在线解释器 http ideone com http ideone com 来测试一些 C 和 Python 程序 如何指定命令行参数而不是使用 STDIN 输入 看起来你不能 但是快速破解应该做的伎俩 stati
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 如何增加使用 SAX 解析 XML 文件的entityExpansionLimit

    我正在尝试使用 Java 中的 SAX 解析器解析一个 1 23 GB 的 XML 文件 我使用的是 Mac 操作系统和 JDK 1 7 0 51 不幸的是 我收到以下错误 The pasrser has encountered more
  • 如何在plotly(python)中的刻度标签和图形之间添加空格?

    如果我使用绘图创建水平条形图 则每个条形的标签都与图表相对应 我想在标签和图表之间添加一些空间 填充 边距 我怎样才能做到这一点 Example import plotly offline as py import plotly graph
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • matplotlib:渲染到缓冲区/访问像素数据

    我想使用 matplotlib 生成的图作为 OpenGL 中的纹理 到目前为止 我遇到的 matplotlib 的 OpenGL 后端要么不成熟 要么已经停止使用 所以我想避免使用它们 我当前的方法是将图形保存到临时 png 文件中 并从
  • Python FTP下载550错误

    我编写了一个 ftp 爬虫来下载特定文件 它会一直工作 直到找到要下载的特定文件 然后抛出此错误 ftplib error perm 550 该文件存在于我的下载文件夹中 但文件大小为 0 kb 我需要转换某些内容才能下载吗 我可以访问 f
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • Pandas 中每列的曲线拟合 + 外推值

    我有一个包含大约 300 列的数据集 每一列都与深度相关 Pandas DataFrame 的简化版本看起来像这样 import matplotlib pyplot as plt import numpy as np import pand
  • 为什么 pip 已经是最新的了却要求我升级?

    我全新安装了 python 3 7 1 64 位 并使用最新的 pyCharm 作为我的 IDE 我在这台机器上没有安装其他 python 我去安装 numpy 并收到以下消息 venv C Users John PycharmProjec
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp
  • 美丽的汤刮 - 登录凭据不起作用

    尝试使用登录凭据抓取页面 payload email gmail com password urls login url https www spotrac com signin url https www spotrac com nba
  • 如何使 Django 自定义管理命令参数不再需要?

    我正在尝试在 django 中编写自定义管理命令 如下所示 class Command BaseCommand def add arguments self parser parser add argument delay type int

随机推荐

  • Android 中的全局计时器

    我想制作一个计时器 它将显示在我的应用程序的每个活动中 我知道如何在活动上设置计时器 下面是我的代码 public class Timer extends Activity implements OnClickListener public
  • 德摩根定律和 C++

    对于以下每个表达式 编写等效的 C 表达式 不带任何一元否定运算符 仍然允许 使用德摩根定律 P Q P Q P Q P Q For x 5 x 7 x lt 5 x gt 7 a gt 3 b gt 4 c 5 我的回答 x gt 5 x
  • Flutter:我想在下拉颤动下显示下拉列表

    我想创建看起来像我提到的下拉菜单 但我无法实现我的方面结果 我尝试使用渲染框来制作自定义下拉菜单 但它希望感觉像实际的下拉菜单 谁能帮助我得到这种类型的结果 我想要这样的结果 我当前的用户界面如下所示 这是我的代码 class AppDro
  • 在 rCharts/slidify/nvd3 中设置图表区域背景颜色

    对于以下滑动甲板 title Foo framework revealjs io2012 html5slides shower dzslides revealjs theme solarized highlighter highlight
  • 如何在 ASP.NET Identity 中使用 ASP.NET 会员数据库?

    我有几个旧版 ASP NET Web 应用程序共享 ASP NET 成员资格数据库 我想迁移到利用 NET Core 和 IdentityServer4 的微服务架构 并在新的微服务生态系统中拥有身份服务器以使用现有的 ASP NET 会员
  • Azure PowerShell:启用应用程序诊断和站点诊断

    我正在为 Azure 网站配置诊断和 IIS 日志 Azure 管理门户显示将应用程序诊断存储到 Azure 表存储的选项 单击 管理表存储 时会弹出一个对话框以提供 Azure 表详细信息 Blob 存储的站点诊断 我正在搜索 Azure
  • 创建同步 http.get()

    我试图通过 Promise 和 http get 处理登录 但我失败得很厉害 我收到以下错误 对象不支持属性或方法 toPromise 我的代码是 return this http get http localhost 5000 login
  • 强制 ANTLR 在特定文件夹中生成输出文件

    我不喜欢将 ANTLR 生成的文件放在与我的文件相同的位置 g4语法和其他版本控制文档 我想将所有生成的文件放在一个单独的嵌套文件夹中 可以通过排除 gitignore 到目前为止我尝试过的是创建一个文件夹
  • 为什么 FB.XFBML.parse() 不渲染我的插件?

    My code a href Render me a div div render me click function e e preventDefault social facebook html
  • Android Studio:用于编码 UTF-8 的不可映射字符

    将我的项目从 eclipse 导入 android studio 后 出现以下错误 Error unmappable character for encoding UTF 8 安卓工作室 0 5 8 我遇到了同样的问题 因为存在带有 win
  • AVX2 中的条件指令

    您能给出 AVX2 中可用的条件指令列表吗 到目前为止 我发现了以下内容 mm256 blendv 可供选择a and b基于掩码c 是否有条件乘法和条件加法等 另外 如果接受指示imm8计数 比如 mm256 blend 你能解释一下如何
  • 特定属性的 SequenceEqual

    我想比较两个对象列表 这些对象有四种不同的属性 我只需要比较其中的三个作为序列 只有三个 因为其中一个总是不同的 示例如下 list1 new List
  • DEI原则下Ctor参数应该注入什么?

    我试图了解哪些对象应该注入到对象中 哪些对象应该在内部创建 如果我有一些List
  • 加密文件时减少内存消耗 C#

    我的加密应用程序使用了大量内存 它根本无法处理大文件 如何优化我的代码来处理大文件 我正在使用下面的代码将文件转换为 base64 显着增加文件大小 Console Write Enter File Path docPath Console
  • XmlSerializer:“在此上下文中不能使用类型‘Type’”

    我试图找出如何使用序列化任何类Xml序列化器 不使用Xml包含属性 通常可以工作 但使用以下代码时出现异常 using System using System Collections using System Collections Gen
  • 如何将修改后的提交推送到远程 Git 存储库?

    当我对源代码进行一些处理后 我做了我通常做的事情提交 然后推送到远程存储库 但后来我注意到我忘记在源代码中组织我的导入 所以我执行修改命令来替换之前的提交 gt git commit amend 不幸的是 提交无法被推回存储库 被拒绝是这样
  • 如何从 JSONArray 解析 JSON 对象?

    我有一个非常大的 JSON 文件 格式如下 fullname name1 id 123 fullname name2 id 245 fullname name3 id 256 它看起来像一个 JSONArray 所有记录都写在同一行中 你能
  • Java并发——使用哪种技术来实现安全?

    我有一个 personId 列表 有两个 API 调用可以更新它 添加和删除 public void add String newPersonName if personNameIdMap get newPersonName null my
  • 函数调用时是否发生左值到右值的转换?

    考虑下面的代码 include
  • 如何将根添加到没有单个根标签的现有 XML

    我有一个 XML 文件 它没有单个根标签 我想向此 XML 文件添加一个新的根标记 下面是现有的 XML a a