я получил следующий XMLКак получить родительский узел и все его дочерний узел, если условие истинно
<?xml version="1.0" encoding="utf-8"?>
<Students>
<Student>
<StdId value="1"/>
<Name>a</Name>
<Courses>
<Course value="c1"/>
<Course value="c2"/>
<Course value="c3"/>
</Courses>
</Student>
<Student>
<StdId value="2" InActive="True"/>
<Name>b</Name>
<Courses>
<Course value="c1"/>
<Course value="c4"/>
<Course value="c6"/>
</Courses>
</Student>
</Students>
и мой XSLT код
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:result-document method="xml" href="file:///C:/Student_details.xml">
<xsl:for-each select="Students/Student">
<xsl:if test="(StdId[@InActive != 'True'])">
<xsl:copy-of select="Student"/>
</xsl:if>
</xsl:for-each>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
Я хочу, чтобы получить Student
элемент с его дочерними узлами, кроме того, где StdId
InActive="True"
. Мой код не копирует элемент студента.
Спасибо, что сработал. – user3202862
есть ли способ, которым я мог бы игнорировать пространство имен, если корневой элемент не должен писать элемент Student. также как я могу написать и корневой элемент. – user3202862
@ user3202862 - мой второй XSLT показывает корневой элемент 'root'. Я не знаю, каковы ваши требования для корневого элемента, но это относительно просто. Однако вопрос с пространством имен может быть довольно сложным - может быть, лучше сделать для него отдельный вопрос и включить образец XML, на котором есть пространство имён. –