C# 使用linq从站点地图文件中提取标题
是否有一种方法可以使用和LINQ来提取文件中所有C# 使用linq从站点地图文件中提取标题,c#,linq,linq-to-xml,C#,Linq,Linq To Xml,是否有一种方法可以使用和LINQ来提取文件中所有siteMapNode元素的所有title属性,而不管其深度如何?任何关于如何做到这一点的例子都将不胜感激 你可以试试这样的东西 string sitemapfile = File.ReadAllText("path of web.sitemap"); XDocument doc = XDocument.Parse(sitemapfile); var elements = doc.Root.Elements("siteMapNode"); fo
siteMapNode
元素的所有title
属性,而不管其深度如何?任何关于如何做到这一点的例子都将不胜感激 你可以试试这样的东西
string sitemapfile = File.ReadAllText("path of web.sitemap");
XDocument doc = XDocument.Parse(sitemapfile);
var elements = doc.Root.Elements("siteMapNode");
foreach (var elem in elements) {
if (elem.Attribute("title") != null)
{
//do your work
}
XElement xelement = XElement.Load(Server.MapPath("~/web.sitemap"));
var urlList = xelement.Descendants().Attributes()
.Where(x => x.Name == "title")
.Select(x => x.Value);
foreach (string s in urlList)
{
}
有时,使用普通的XPath要容易得多
var doc = XDocument.Parse(contentsOfFile);
doc.XPathEvaluate("//@title");
foreach (var element in ((IEnumerable)result).Cast<XAttribute>())
{
Console.WriteLine("{0} has value {1}", element.Name, element.Value);
}
var doc=XDocument.Parse(contentsOfFile);
xPath估价文件(“//标题”);
foreach((IEnumerable)result.Cast()中的var元素)
{
WriteLine(“{0}有值{1}”,element.Name,element.value);
}
类似于文档。。siteMapNode@title
。我真的记不太清楚语法。好的,语法是document….@title
,显然您必须切换到VB.NET才能使用它,所以请先这样做。