簡體   English   中英

如何在razor中循環遍歷xml字符串

[英]How to loop through xml string in razor

我有一個看起來像這樣的xml字符串

<row Name="analog.__VG_SPP3_SFRTPCT" />
<row Name="analog._3305_LIST210_1" />
<row Name="analog._AG_5340_PR14AN" />
<row Name="analog._AG_EPNT_2" />
<row Name="analog._AG_EPNT_SP" />
<row Name="analog._AG_MERC_ERXTES" />
<row Name="analog._AG_ROC_TEST" />
<row Name="analog._AG_ROM1_LOAD" />
<row Name="analog._AG_TEST_CRC1LT" />
<row Name="analog._AG_TEST_CRC1RT" />
<row Name="analog._CWAV_TST_MDP1CV" />
<row Name="analog._CWAV_TST_MDP1CV_LIST" />

嘗試為javascript中顯示的組合框生成選項列表,我試圖在razor中循環遍歷xml字符串以生成它,但是我不確定如何或甚至可能通過拆分來完成此操作xml轉換為單獨的數據結構,然后再次在剃刀中遍歷該數據結構。 但是出於性能原因,一次完成此操作將是一件很不錯的事情。

@model string
@{
    Response.ContentType = "text/xml";
    Layout = null;
}
<complete>
    <option value=""><![CDATA[&nbsp;]]></option>
    @foreach (var row  in @Model)
    {
        <option value="@(row.Name)">@(row.Name)</option>  
    }
</complete>

為了完整起見,這是我最終在剃須刀中所做的事情,謝謝。 我在控制器端用封裝了輸出xml字符串,然后將其插入ComboData結構中,當數據太大時,剃刀顯然遇到了純字符串問題。

控制器:

var Names = "<rows>" + oService.Names(ID) + "</rows>";
var oComboData = new ComboData(Names);
return View("ComboData", oComboData);

視圖模型:

public class ComboData
{
    public ComboData(string sString)
    {
        xdoc = new XmlDocument();
        xdoc.LoadXml(sString);
    }

    public XmlDocument xdoc { get; set; }
}

視圖:

@using System.Xml
@using ViewModels; 
@model ComboData
@{
    Response.ContentType = "text/xml";
    Layout = null;
}
<complete>
    <option value=""><![CDATA[&nbsp;]]></option>
    @foreach (XmlNode node in Model.xdoc.DocumentElement.ChildNodes)
    {
        <option value="@(node.Attributes[0].Value)">@(node.Attributes[0].Value)</option>
    }
</complete>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM