Skip to content

Commit 50459cb

Browse files
committed
xml元素内容转义
1 parent 88bcba1 commit 50459cb

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

WebApiClientCore.OpenApi.SourceGenerator/Views/HttpApi.cshtml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@inherits HtmlTempate<HttpApi>
22
@using NSwag;
3+
@using System.Security;
34
@using WebApiClientCore.OpenApi.SourceGenerator;
45

56
<HttpApi>
@@ -26,8 +27,8 @@
2627
{
2728
<div>/// &lt;summary&gt;</div>
2829
foreach (var line in Model.Summary.Split(new[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries))
29-
{
30-
<div>/// @line</div>
30+
{
31+
<div>/// @SecurityElement.Escape(line)</div>
3132
}
3233
<div>/// &lt;/summary&gt;</div>
3334
}
@@ -48,18 +49,19 @@
4849
{
4950
<div>/// &lt;summary&gt;</div>
5051
foreach (var line in method.Summary.Split(new[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries))
51-
{
52-
<div>/// @line</div>
52+
{
53+
<div>/// @SecurityElement.Escape(line)</div>
5354
}
5455
<div>/// &lt;/summary&gt;</div>
5556
5657
foreach (var parameter in method.Parameters)
5758
{
5859
var description = parameter.HasDescription ? parameter.Description.Replace("\r", "\t").Replace("\n", "\t") : null;
59-
<div>/// &lt;param name="@(parameter.VariableName)"&gt;@(description)&lt;/param&gt;</div>
60+
61+
<div>/// &lt;param name="@(parameter.VariableName)"&gt;@(SecurityElement.Escape(description))&lt;/param&gt;</div>
6062
}
6163
<div>/// &lt;param name="cancellationToken"&gt;cancellationToken&lt;/param&gt;</div>
62-
<div>/// &lt;returns&gt;@(method.ResultDescription)&lt;/returns&gt;</div>
64+
<div>/// &lt;returns&gt;@(SecurityElement.Escape(method.ResultDescription))&lt;/returns&gt;</div>
6365
}
6466
</summary>
6567

@@ -91,7 +93,7 @@
9193
{
9294
var schema = parameter.Schema as OpenApiParameter;
9395
if (schema != null && schema.CollectionFormat != OpenApiParameterCollectionFormat.Undefined
94-
&& schema.CollectionFormat != OpenApiParameterCollectionFormat.Multi)
96+
&& schema.CollectionFormat != OpenApiParameterCollectionFormat.Multi)
9597
{
9698
<span>[PathQuery(CollectionFormat = CollectionFormat.@(schema.CollectionFormat))]</span>
9799
}

WebApiClientCore.OpenApi.SourceGenerator/Views/HttpModel.cshtml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@inherits HtmlTempate<HttpModel>
2+
@using System.Security;
23
@using WebApiClientCore.OpenApi.SourceGenerator;
34

45
<HttpModel>
@@ -17,7 +18,7 @@
1718
<class>
1819
@foreach (var line in Model.Lines)
1920
{
20-
<div>@line</div>
21+
<div>@SecurityElement.Escape(line)</div>
2122
}
2223
</class>
2324
<div>}</div>

WebApiClientCore.OpenApi.SourceGenerator/WebApiClientCore.OpenApi.SourceGenerator.csproj

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<Nullable>enable</Nullable>
6+
<Version>2.1.4.1</Version>
67
<TargetFrameworks>netcoreapp3.1;net6.0;net8.0</TargetFrameworks>
78

89
<Summary>将本地或远程OpenApi文档解析生成WebApiClientCore的接口定义代码文件的工具</Summary>
@@ -24,16 +25,11 @@
2425
<None Update="petstore.json">
2526
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2627
</None>
27-
<None Update="Views\HttpApi.cshtml">
28+
<None Update="Views\*.cshtml">
2829
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
2930
<Pack>$(IncludeRazorContentInPack)</Pack>
30-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
31-
</None>
32-
<None Update="Views\HttpModel.cshtml">
33-
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
34-
<Pack>$(IncludeRazorContentInPack)</Pack>
35-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
36-
</None>
37-
</ItemGroup>
31+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
32+
</None>
33+
</ItemGroup>
3834

3935
</Project>

0 commit comments

Comments
 (0)