如何在 C# 中将 CSHTML 读取为 XML 文件

本文关键字:读取 XML 文件 CSHTML 中将 | 更新日期: 2023-09-27 18:35:50

我有一个cshtml文件,在这个文件中我有一个隐藏的字段和静态值。我想将其读取为 XML 文件以查找隐藏字段。事实上,我不喜欢将其作为文本文件打开并搜索它。

这是我文件的一部分,我想读取隐藏文件:

    <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" content="Soha Application" />
    <title>@ViewBag.MeetingTitle</title>    
    <link href="@Url.Content("~/Content/themes/Default/main.css")" rel="stylesheet" type="text/css" />    
    <link href="@Url.Content("~/Content/themes/Default/fa-IR.css")" rel="stylesheet" type="text/css" />    
    <script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
</head>
<body>
    <div class="page">
        <header>
            **<input id="SkinId" type="hidden" value="008BBF4768861284321640F895D68DA1" /> <!-- Please dont change this Code -->**
            <div id="title">
                <h1>@ViewBag.MeetingTitle</h1>
            </div>
            <nav>
            </nav>
        </header>

如何在 C# 中将 CSHTML 读取为 XML 文件

你可以像阅读常规XML一样阅读它,因为它是一个XHTML

例如http://sticklebackplastic.com/post/2007/06/28/How-to-use-XmlResolver-Or-reading-an-xhtml-file-in-net.aspx

或者将 LINQ 与 HTML Agility Pack 结合使用

http://web.archive.org/web/20080719181517/http://vijay.screamingpens.com/archive/2008/05/26/linq-amp-lambda-part-3-html-agility-pack-to-linq.aspx

我在这里使用XPath扩展:https://github.com/ChuckSavage/XmlLib/

这应该适合您。 它将返回具有属性的所有元素type="hidden"

XElement root = XElement.Load(file); // or XElement.Parse(string);
var hidden = root.XPath("//*[@type='hidden']");