1

В основном у меня есть это

<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>

И я хочу превратить это в это

<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>

но у меня есть тысячи строк. Я хочу найти группы и удалить те, которые не имеют 00 или 50 в конце числа в строке <name>number</name>

1 ответ1

0

Вы можете решить свою проблему, выполнив XSL-преобразование. Вы можете сделать это, добавив плагин XML Tools в Notepad++.

Создайте новый xsl-файл со следующим преобразованием:

<?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>

Преобразование скопирует все узлы Placemark с name , заканчивающимся на 00 или 50 в результате.

Теперь вы можете открыть свой XML-файл. Перейдите в Плагины -> Инструменты XML -> Преобразование XSL. Выберите созданный файл xls и выполните преобразование.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .