Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Razor中生成动态XML_C#_Xml_Razor - Fatal编程技术网

C# 在Razor中生成动态XML

C# 在Razor中生成动态XML,c#,xml,razor,C#,Xml,Razor,我正在ASP.NET之外使用Razor从模板生成XML文档。我有以下代码: <event> <timeouts trigger='@Model.TriggerTimeout' /> <parameters> @foreach (var parameter in Model.Parameters) { <@parameter.Key>@parameter.Value</@parameter.Key>

我正在ASP.NET之外使用Razor从模板生成XML文档。我有以下代码:

<event>
    <timeouts trigger='@Model.TriggerTimeout' />
    <parameters>
    @foreach (var parameter in Model.Parameters) {
        <@parameter.Key>@parameter.Value</@parameter.Key>
    }
    </parameters>
</event>

你需要写
来阻止Razor认为那是一个电子邮件地址。

不幸的是,这只会给我一个value1@DavidKeaveny:尝试将
@:
添加到行的开头。我也尝试过,但这会给我一个值1的输出。我终于找到了我代码中有问题的部分——元素,虽然它为自己生成了正确的代码行,但仍然需要@:作为前缀,以便也可以编写结束标记。非常烦人,但是谢谢你给我指出了正确的方向。我将用最终的工作解决方案更新问题。我已尝试重新创建此场景,它在正常的
.cshtml
文件中运行良好。您使用什么来解析razor文件?您是否尝试过
@:
?另外,有趣的是,您正在MVC之外使用razor。您是否考虑过我确实尝试过,但我得到了以下错误:“:”在代码块的开头无效。只有标识符、关键字、注释、“(”和“{”)是有效的。@KirkWoll我使用的是RazorEngine()。我们在ASP.NET MVC应用程序中使用了Razor。
<event>
    <timeouts trigger='100' />
    <parameters>
        <name1>value1</name1>
        <name2>value2</name2>
        <name3>value3</name3>
    </parameters>
</event>
<event>
    <timeouts trigger='100' />
    <parameters>
        <name1>value1</@parameter.Key>
        <name2>value2</@parameter.Key>
        <name3>value3</@parameter.Key>
    </parameters>
</event>
<events>
@foreach (var _event in Model.Events) {
    <@_event.Name enabled='@_event.Enabled'>
        <timeouts trigger='@_event.TriggerTimeout' />
        <parameters>
        @foreach (var parameter in _event.Parameters) {
            @:<@parameter.Key>@parameter.Value</@(parameter.Key)>
        }
        </parameters>
    </@_event.Name>
}
</events>
<events>
    <event1 enabled='true'>
        <timeouts trigger='100' />
        <parameters>
            <name1>value1</name1>
            <name2>value2</name2>
        </parameters>
    </event1>
    <event2 enabled='false'>
        <timeouts trigger='100' />
        <parameters>
            <name1>value1</name1>
        </parameters>
    </event2>
</events>
<events>
    <event1 enabled='true'>
        <timeouts trigger='100' />
        <parameters>
            <name1>value1</name1>
            <name2>value2</name2>
        </parameters>
    </@_event.Name>
    <event2 enabled='false'>
        <timeouts trigger='100' />
        <parameters>
            <name1>value1</name1>
        </parameters>
    </@_event.Name>
</events>
<events>
@foreach (var _event in Model.Events) {
    @:<@_event.Name enabled='@_event.Enabled'>
        <timeouts trigger='@_event.TriggerTimeout' />
        <parameters>
        @foreach (var parameter in _event.Parameters) {
            @:<@parameter.Key>@parameter.Value</@(parameter.Key)>
        }
        </parameters>
    </@_event.Name>
}
</events>