我有一个string xml = @"<recurrence><rule><firstDayOfWeek>mo</firstDayOfWeek><repeat><daily dayFrequency=""1"" /></repeat><windowEnd>2012-10-31T10:00:00Z</windowEnd></rule></recurrence>";
我想在这里阅读dayFrequency
1
这个值,有没有办法可以直接在dayFrequency
标签下阅读daily
,同样有很多这样的标签例如 a =“1”,b =“King”等等,所以我想直接读取分配给变量的值。
请帮助。
我使用的以下代码读取了重复标记
string xml = @"<recurrence><rule><firstDayOfWeek>mo</firstDayOfWeek><repeat><daily dayFrequency=""1"" /></repeat><windowEnd>2012-10-31T10:00:00Z</windowEnd></rule></recurrence>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
// this would select all title elements
XmlNodeList titles = xmlDoc.GetElementsByTagName("repeat");
答案 0 :(得分:3)
XDocument xmlDoc = XDocument.Parse(xml);
var val = xmlDoc.Descendants("daily")
.Attributes("dayFrequency")
.FirstOrDefault();
这里的val将是:
val = {dayFrequency="1"}
val.Value
会给你1
答案 1 :(得分:1)
XElement.Parse(xml).Descendants("daily")
.Single()
.Attribute("dayFrequency")
.Value;
答案 2 :(得分:1)
XDocument xdoc = XDocument.Parse(@"<recurrence><rule><firstDayOfWeek>mo</firstDayOfWeek><repeat><daily dayFrequency=""1"" /></repeat><windowEnd>2012-10-31T10:00:00Z</windowEnd></rule></recurrence>");
string result = xdoc
.Descendants("recurrence")
.Descendants("rule")
.Descendants("repeat")
.Descendants("daily")
.Attributes("dayFrequency")
.First()
.Value;
答案 3 :(得分:0)
您应该使用getattribute()。
有关详细信息,请参阅:http://msdn.microsoft.com/en-us/library/acwfyhc7.aspx
答案 4 :(得分:0)
var nodes = xmlDoc.SelectNodes(path);
foreach (XmlNode childrenNode in nodes)
{
HttpContext.Current.Response.Write(childrenNode.SelectSingleNode("//repeat").Value);
}