сбросить теги XML, имеющие определенное значение - PullRequest
1 голос
/ 02 апреля 2010

У меня есть веб-сервис, который возвращает XML, как это:

<?xml version="1.0" encoding="UTF-8"?>
<contractInformation>
    <contract>
        <idContract type="int">87191827</idContract>        
        <region type="varchar">null</region>
        <dueDate type="varchar">null</dueDate>
        <contactName type="varchar">John Smith</contactName>
    </contract>
</contractInformation>

Я хочу очистить каждый тег, содержащий строку null , поэтому это будет выглядеть так:

<?xml version="1.0" encoding="UTF-8"?>
<contractInformation>
    <contract>
        <idContract type="int">87191827</idContract>        
        <region type="varchar"/>
        <dueDate type="varchar"/>
        <contactName type="varchar">John Smith</contactName>
    </contract>
</contractInformation>

Как мне добиться этого с помощью XSLT?

1 Ответ

3 голосов
/ 02 апреля 2010

Использование и переопределение правила идентификации :

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

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

 <xsl:template match="text()[.='null']"/>
</xsl:stylesheet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...