我們即將重組一個包含數百個ASPX頁面的大型項目,以執行重大更改。我打算使用XSLT去除/編輯頁面,但是我嘗試過的兩個工具由於頁面中的服務器聲明而無法解析ASPX。將XSLT轉換應用於ASPX文件
我已經在過去使用的工具有xmlstarlet和xsltproc
TEST.CMD
REM xml tr --html test.xsl %ProjDir%\%%f > %%~dpnf.ascx
libxslt\xsltproc.exe --novalid --html -o %ProjDir%\%%~nf.ascx test.xsl %ProjDir%\%%f
test.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:asp="http://schemas.microsoft.com">
<xsl:output
method="text" version="1.0" encoding="UTF-8" indent="yes"
omit-xml-declaration="yes" />
<!-- method="html" text xml disable-output-escaping="yes" -->
<xsl:template match='@*|node()'>
<xsl:copy>
<xsl:apply-templates select='@*|node()'/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
輸出;
test//Test.aspx:1: HTML parser error : htmlParseStartTag: invalid element name
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Test.aspx.vb"
^
test//AcronymAdd.aspx:21: HTML parser error : Tag fc1:frontendheadercontrol invalid
<fc1:FrontEndHeaderControl ID="Heading" runat="server" />
^
...
任何人都可以推薦解析asp.net頁面的方法來啓用XSLT模板的應用嗎?