我的问题是经过几天无用的搜索后我无法解决的问题。我对XML或任何其他类型的编程都很陌生,所以请原谅我解释的任何错误!
基本上,正如标题中所述,我需要替换括号内的所有数字
< Scale_Factor> < / Scale_Factor>
是他们原始价值的三分之一。在notepad ++,XML编辑器或您可能熟悉的任何其他程序中,我可以这样做吗? 真的有办法吗?非常感谢所有帮助! 数字的示例是3.0。我想将其更改为1.0。整个文件中的数字不尽相同。 XML版本1.0
答案 0 :(得分:0)
匹配数字并不太难。您只需使用正则表达式搜索并执行以下操作:
\<Scale_Factor\>([A-Za-z\.\s]*)([d]+)([A-Za-z\.\s]*)\<\/Scale_Factor\>
匹配此正则表达式将允许您替换所有数字,如果您用这样的东西替换它: \ 1(取代nums的东西)\ 3
但是,你不能在替换语句中做数学运算,所以你在这里运气不好。您最好的选择是用迭代替换命令替换数字或编写自定义exe来为您完成。
答案 1 :(得分:0)
这是一个简单的问题,但如果您不知道如何编码,则很难做到。这是针对您的问题的最简单的解决方案。
创建一个名为divide.xsl的文件,并将以下数据放入其中:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="Scale_Factor">
<xsl:copy>
<xsl:value-of select="text() div 3" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
使用Notepad ++,安装了xmltools插件。打开xml文件,转到Plugins >> XML Tools >> XSL Transformation
并打开刚刚创建的divide.xsl。多田!