我需要在asp.net中使用for循环检索xml节点elemente属性值....提前感谢
答案 0 :(得分:0)
取决于您使用的.Net版本。
LINQ to XML是一种可行的方法:http://msdn.microsoft.com/en-us/library/bb387098.aspx
或者,如果您使用的是旧版本.Net,XmlDocument与XPath是一种方法:http://msdn.microsoft.com/en-us/library/ms256086(v=vs.80).aspx
答案 1 :(得分:0)
对于.NET 2.0解决方案,请参阅以下示例:
我的输入文件名为books.xml,它存储在我的示例项目的Properties.Resources中:
<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book Title="Rage of angels" Author="Sidney Sheldon">Book 1</book>
<book Title="If tomorrow comes" Author="Sidney Sheldon">Book 2</book>
<book Title="Stranger in the mirror" Author="Sidney Sheldon">Book 3</book>
<book Title="A studyin scarlet" Author="Sir Arthur Conan Doyle">Book 4</book>
</books>
下面是处理xml文档并将Title属性的值写入Visual Studio中的输出窗口的实际代码。只需更改代码以满足您的xml文件,您就可以了:
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument document = new XmlDocument();
document.LoadXml(Properties.Resources.books.ToString());
ProcessXml(document,"/books/book", "book", "Title");
}
private void ProcessXml(XmlDocument document,string xPath,string elementName,string attributeName)
{
XmlElement root = document.DocumentElement;
XmlNodeList nodes = root.SelectNodes(xPath);
for (int i = 0; i < nodes.Count; i++)
{
string attribute = nodes[i].Attributes[attributeName].Value;
System.Diagnostics.Debug.WriteLine(attribute);
}
}