这是我的XML:
<ordinanze>
<dataagg>17/10/2012 ore 16:30</dataagg>
<ordinanza>
<numero>02/2012</numero>
<titolo>02/2012</titolo>
</ordinanza>
<ordinanza>
<numero>02/2012</numero>
<titolo>02/2012</titolo>
</ordinanza>
<ordinanza>
<numero>02/2012</numero>
<titolo>02/2012</titolo>
</ordinanza>
</ordinanze>
我想用属性ordinanza
浏览第一级(而不是其余的)所以,在foreach中有3个节点。我该怎么办?
我的代码:
XmlNodeList StudentNodeList = myXmlDocument.SelectNodes("ordinanza");
foreach (XmlNode node in StudentNodeList)
{
Response.Write(node.SelectSingleNode("//numero[1]").InnerText);
}
但它什么都没打印!
答案 0 :(得分:3)
如何使用Linq To Xml
var xDoc = XDocument.Parse(xml); //or XDocument.Load(fileName)
var list = xDoc.Descendants("ordinanza")
.Select(n => new
{
Numero = n.Element("numero").Value,
Titolo = n.Element("titolo").Value,
})
.ToList();
答案 1 :(得分:0)
尝试使用XElement和Linq to XML。
答案 2 :(得分:0)
您的XPath不正确。这是我最喜欢的XPath Reference。 要回答关于如何在foreach中获取三个节点的问题,请尝试
var students = myXmlDocument.SelectNodes("/ordinanze/ordinanza");
但是,如果您还不熟悉LINQ,我建议您使用一些LINQ。