URL의 매개 변수로 XSL을 변환하는 데 문제가 있습니다. 나는 C# 코드를 더 이상 변경할 수 없으며 xsl 파일 만 변경할 수 있습니다.xsl transform : 앰퍼샌드 URL 매개 변수의 문제점
C# 코드 :
string xml = "<APPLDATA><APPID>1052391</APPID></APPLDATA>";
XmlDocument oXml = new XmlDocument();
oXml.LoadXml(xml);
XslTransform oXslTransform = new XslTransform();
oXslTransform.Load(@"C:\Projects\Win\ConsoleApps\XslTransformTest\S15033.xsl");
StringWriter oOutput = new StringWriter();
oXslTransform.Transform(oXml, null, oOutput)
XSL 코드 :
<body>
<xsl:variable name="app">
<xsl:value-of select="normalize-space(APPLDATA/APPID)" />
</xsl:variable>
<div id="homeImage" >
<xsl:attribute name="style">
background-image:url("https://server/image.gif?a=10&Id='<xsl:value-of disable-output-escaping="yes" select="$app" />'")
</xsl:attribute>
</div>
</body>
</html>
URL은 변형 :
https://server/image.gif?a=10&Id='1052391'
URL은 예상 :
https://server/image.gif?a=10&Id='1052391'
나는이 문제를 어떻게 해결합니까
? 출력 (oOutput.ToString())은 전자 메일 서식 파일에서 사용되고 있으므로 문자 그대로 변환 된 URL을 사용합니다. 물론 올바른 서버 이름으로이 요청을 클릭하면 403 (액세스 금지) 오류가 발생합니다.