2
У меня есть файл, как показано ниже. Мне нужно обработать файл и скопировать узлы на основе значения элемента = CT. Я как бы проиграл, как и с чего начать. Любая помощь будет оценена по достоинству.Попытка выбора узла на основе значения элемента
стилевых:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<feed>
<xsl:for-each select="web-export/run-date/pub-code/ad-type">
<xsl:copy-of select="."/>
</xsl:for-each>
</feed>
</xsl:template>
</xsl:stylesheet>
XML:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<web-export>
<run-date>02/01/2017
<pub-code>News
<ad-type>Legal Liner
<cat-code>Legals</cat-code>
<class-code>Legal</class-code>
<subclass-code>Briefings</subclass-code>
<placement-description></placement-description>
<position-description></position-description>
<subclass3-code></subclass3-code>
<subclass4-code></subclass4-code>
<order-number>0000023456</order-number>
<FieldedDataSet>
<State>CT</State>
</FieldedDataSet>
<ad-content><![CDATA[Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque est. ]]></ad-content>
</ad-type>
</pub-code>
<pub-code>News
<ad-type>Legal Liner
<cat-code>Legals</cat-code>
<class-code>Legal</class-code>
<subclass-code>Notices</subclass-code>
<ad-number>0000</ad-number>
<FieldedDataSet>
<State>RI</State>
</FieldedDataSet>
<ad-content><![CDATA[Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque est. ]]></ad-content>
</ad-type>
</pub-code>
</run-date>
</web-export>
Привет Rupesh. Спасибо за быстрый ответ. Это работает для меня. Как настроить целевой элемент -? Могут быть и другие элементы, содержащие строку «CT». Мне нужно убедиться, что только записи для этого элемента успешны. Спасибо., –
geektampa
@geektampa, я отредактировал ответ для вас, теперь он будет работать только в совпадениях. – Rupesh
Спасибо. работает отлично. Это пригодится. Спасибо, что научил меня чему-то новому сегодня. – geektampa