У меня есть XML-файл, как показано ниже, и теперь я хочу использовать XSLT для его преобразования, сохранить все элементы и атрибуты, но если это произойдет с атрибутами, значения которых начинаются с «SQL:», затем выполните командуsql и замените значение атрибута на разрешенный SQL (он включает http://msdn.microsoft.com/en-us/library/533texsx(VS.90).aspx.. Теперь я решил вопрос: как проверить, является ли текущий тип узла атрибутом, и как заменить значение атрибута, я основываюсь на визуальномшаблон студии по умолчанию, как показано ниже:
пример XML-файла (в действительности много элементов):
<DM>
<DV id="SQL:Select something from db">
<Sample aid="SQL:Select something from db">
</Sample>
</DV>
<DV id="SQL:Select something from db">
<Sample aid="SQL:Select something from db">
</Sample>
</DV>
</DM>
default xslt:
<?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"
xmlns:ms="urn:schemas-microsoft-com:xslt" >
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>