如何在 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>
你可以像阅读常规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']");