Блокнот ++ или другое приложение к строке замены с числовой функцией

Я использую Блокнот ++ и пытаюсь заменить все числовые строки в определенном теге (xxxxof мой XML-документ с новой строкой, которая была изменена определенной переменной. Вот пример:

<start>501234</start>

вокруг (501234 * 0.9) = 451111

<start>451111</start>

Существует ли способ автоматически найти, что все числовые значения в запуске отмечают и действительно заменяют его тем же самым значением, умноженным на 0,9? Я не должен использовать Блокнот ++, если существует другой инструмент, который может сделать это.

Спасибо!

1
задан 18.12.2010, 18:35

3 ответа

используйте xslt для изменения input.xml:

<bla>
     <start>501234</start>
     <end>12345</end>
</bla>

и Вы хотите умножить число между start теги с 0.9, затем создайте "файл преобразования" (transform.xsl):

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

<!-- copy everything else -->
<xsl:template match="node()|@*">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<!-- transform what we are interested in -->
<xsl:template match="start">
    <foo><xsl:value-of select="number(.) * 0.9" /></foo>
</xsl:template>
</xsl:stylesheet>

и примените его как это:

% xsltproc transform.xsl input.xml
1
ответ дан 17.12.2019, 00:41

Если у Вас есть незначительное знание программирования, можно записать собственное очень легко. Можно использовать объект XPathNavigator проанализировать XML с комбинацией C# или VB для задачи как этот, Вы не должны проводить больше получаса.

Начните Свой собственный проект с некоторых бесплатных версий Визуального Sudio, и пришел к Stackoverflow.com с Вашими проблемами.

0
ответ дан 17.12.2019, 00:41

Очень простое решение этого состоит в том, чтобы записать сценарий (возможно, жемчуг), чтобы сделать находку и замену на Вашей переменной. эта строка соответствует всему между двумя переменными тега]> (.?). В жемчуге Вы можете просто несколько результат этого regex с.9 и переписывать ответ. Я имею дело с обновлением больших XML-файлов часто, и жемчуг является безусловно самым легким решением любой из моих проблем

0
ответ дан 17.12.2019, 00:41

Теги

Похожие вопросы