有没有办法使用XDocument和 LINQ 来提取web.sitemap文件中所有元素的所有title
属性,而不管深度如何?任何有关如何执行此操作的示例将不胜感激!siteMapNode
问问题
751 次
3 回答
2
你可以试试这样的
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)
{
}
于 2012-08-18T03:01:15.963 回答
0
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
}
于 2012-08-18T03:01:05.080 回答
0
有时,使用普通的旧 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);
}
于 2012-08-18T03:02:04.073 回答