Encontre números que terminam em 00 ou 50, mas apenas em uma determinada linha

1

Basicamente eu tenho isso

<Placemark>
        <name>9795</name>
        <description><![CDATA[converted by:</br><a href="http://gridreferencefinder.com/">GridReferenceFinder.com</a></br>]]></description>
        <Point>
            <coordinates>-1.0198045,52.231084,0</coordinates>
        </Point>
    </Placemark>
    <Placemark>
        <name>9800</name>
        <description><![CDATA[converted by:</br><a href="http://gridreferencefinder.com/">GridReferenceFinder.com</a></br>]]></description>
        <Point>
            <coordinates>-1.0198629,52.23109400000001,0</coordinates>
        </Point>
    </Placemark>
    <Placemark>
        <name>9805</name>
        <description><![CDATA[converted by:</br><a href="http://gridreferencefinder.com/">GridReferenceFinder.com</a></br>]]></description>
        <Point>
            <coordinates>-1.0199357,52.231112,0</coordinates>
        </Point>
    </Placemark>

E eu quero transformar isso em

<Placemark>
        <name>9800</name>
        <description><![CDATA[converted by:</br><a href="http://gridreferencefinder.com/">GridReferenceFinder.com</a></br>]]></description>
        <Point>
            <coordinates>-1.0198629,52.23109400000001,0</coordinates>
        </Point>
    </Placemark>

mas tenho milhares de linhas. Eu quero pesquisar os grupos e excluir os que não têm 00 ou 50 no final do número na linha <name>number</name>

    
por Azer.B 08.07.2017 / 10:53

1 resposta

0

Você pode resolver seu problema fazendo uma transformação XSL. Você pode fazer isso adicionando o plug-in XML Tools ao seu Notepad ++.

Crie um novo arquivo xsl com a seguinte transformação:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>
  <xsl:strip-space elements="*"/>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()">
        <xsl:sort select="Placemark/name"/>
      </xsl:apply-templates>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="Placemark['00' != substring(name, string-length(name) - string-length('00') +1) and '50' != substring(name, string-length(name) - string-length('50') +1)]"/>
</xsl:stylesheet>

A transformação copiará todos os Placemark nós com name que termina com 00 ou 50 para o resultado.

Agora você pode abrir seu arquivo XML. Ir para Plugins - > Ferramentas XML - > Transformação XSL. Selecione o arquivo xls criado e faça a transformação.

    
por 08.07.2017 / 15:45