【发布时间】:2017-09-25 12:53:47
【问题描述】:
我想自动化一个解析 XML 文件并复制其中一部分的脚本。 我搜索了found a way to do that,但它只适用于像
这样的字段<title> .... </title>
我的目标是复制这个
<datasource enabled="true" jndi-name="java:/db_namePostgresDS" jta="true" pool-name="db_namePostgresDS" spy="false" use-ccm="false" use-java-context="true">
THINGS AND FIELDS IN HERE
</datasource>
并将其粘贴到 </datasource> 之后。然后我将使用 sed 更改值。但我基本上想把那部分加倍。
我只是不知道该怎么做,也许这是一个 XY 问题。有什么帮助吗?
示例:
我有
<datasource enabled="true" jndi-name="java:/db_namePostgresDS" jta="true" pool-name="db_namePostgresDS" spy="false" use-ccm="false" use-java-context="true">
THINGS AND FIELDS IN HERE
我想拥有
<datasource enabled="true" jndi-name="java:/db_namePostgresDS" jta="true" pool-name="db_namePostgresDS" spy="false" use-ccm="false" use-java-context="true">
THINGS AND FIELDS IN HERE
</datasource>
<datasource enabled="true" jndi-name="java:/MODIFIED_NAME_HERE_PostgresDS" jta="true" pool-name="db_namePostgresDS" spy="false" use-ccm="false" use-java-context="true">
MODIFIED THINGS AND FIELDS IN HERE
</datasource>
重要提示:我需要避免在机器上安装新软件(明确的客户要求)。 XML 解析器,如果不是内置的,也不是办法。
【问题讨论】:
-
使用 xml 解析器
-
我应该指定它,我会修改帖子...必须避免在机器上安装软件(客户要求)
-
我会修改问题
-
因为看起来你正在从 Wildfly 或 JBoss EAP 解析一个standalone/domain.xml,你实际上在不使用 XML 解析器的情况下非常安全,因为这些工具在启动时会重新格式化它们的配置。不过,解析文本仍然比直接解析 XML 要麻烦得多。
-
本机软件不包含
xsltproc?这是一个非常广泛/标准的工具。与带有ElementTree标准库模块的Python 相同。因此,我对您的目标机器上没有 XML 解析器的说法持怀疑态度。