Ниже мой XSLT, и мне нужно рассмотреть все теги "Table" из XML, в которых текст "XYZ".
<xsl:template match="/">
<xsl:element name="Root">
<xsl:apply-templates select= "Document"/>
</xsl:element>
</xsl:template>
<xsl:template match="//Table[.//TH[contains(text(), 'XYZ')]]">
<xsl:copy-of select="spext:Converter(., 'true', './TR[5]', '2')"/>
</xsl:template>
Ниже мой фрагмент Input XML. Это вызовет метод в c# для извлечения определенных c тегов из элемента "Table", переданного XSLT.
<Document>
<Table>
<TR>
<TH>
XYZ
</TH>
<TH>
PQR
</TH>
</TR>
<TR>
<TD>
Test data 1
</TD>
<TD>
Test data 1
</TD>
</TR>
</Table>
<Part>
<p>Hello World! This is some random text!</p>
</Part>
<Part>
<Table>
<TR>
<TH>
XYZ
</TH>
<TH>
PQR
</TH>
</TR>
<TR>
<TD>
Test data 3
</TD>
<TD>
Test data 4
</TD>
</TR>
</Table>
<p>Random Test after!</p>
</Part>
</Document>
Мой фактический результат преобразования ниже
<Root>
<Table>
<XYZ>Test data 1</XYZ>
<PQR>Test data 2</PQR>
</Table>Hello World! This is some random text!
<Table>
<XYZ>Test data 3</XYZ>
<PQR>Test data 4</PQR>
</Table>Random Test after!
</Root>
Но желательно выходные данные должны быть ниже
<Root>
<XYZ>
Test data 1
</XYZ>
<PQR>
Test data 2
</PQR>
<XYZ>
Test data 3
</XYZ>
<PQR>
Test data 4
</PQR>
</Root>
XSLT должен рассматривать только элементы «Таблицы», но здесь текст других тегов также трансформируется и, таким образом, XML формируется неправильно. enter code here
Любая помощь приветствуется. !