gpt4 book ai didi

xml - 在终端中编辑 XML 文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:08 25 4
gpt4 key购买 nike

我有一台运行在Linux系统上的服务器,我想编辑Imagemagick的XML文件。

文件内容是:

<policymap>
<policy domain="..." rights=".." pattern="...." />
<policy domain="..." rights=".." pattern="...." />
..
..
</policymap>

所以,我想添加这一行:

  <policy domain="coder" rights="read | write" pattern="PDF" />

请问我该怎么做。

谢谢。

最佳答案

您可以使用 XSLT-1.0 处理器和身份模板自动执行此操作:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  version="1.0">
<xsl:output method="xml" />

<!-- Identity template - in XSLT-3.0 it can be replaced by
<xsl:mode on-no-match="shallow-copy"/>
-->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*" />
</xsl:copy>
</xsl:template>

<xsl:template match="/policymap">
<xsl:copy>
<xsl:apply-templates select="node()|@*" />
<!-- Added new line -->
<policy domain="coder" rights="read | write" pattern="PDF" />
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

它的输出是:

<?xml version="1.0"?>
<policymap>
<policy domain="..." rights=".." pattern="...."/>
<policy domain="..." rights=".." pattern="...."/>
..
..
<policy domain="coder" rights="read | write" pattern="PDF"/>
</policymap>

*Ubuntu 上的命令可能是

xsltproc transform.xslt source.xml

或使用 Saxon :

java -jar saxon9he.jar -xsl:b.xslt b.xml

关于xml - 在终端中编辑 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55151174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com