使用c#获取xml节点
本文关键字:节点 xml 获取 使用 | 更新日期: 2023-09-27 18:30:00
我有一个返回大型xml文件的请求。我的应用程序中有XmlDocument类型的文件。从那个文档中,我如何读取这样的元素:
<gphoto:videostatus>final</gphoto:videostatus>
我想从那个元素中提取那个值final。此外,如果我也有多个元素,我可以把它拉到一个列表中吗?谢谢你的建议。
如果您已经有了XmlDocument,那么您可以使用函数GetElementsByTagName()创建一个XmlNodeList,该列表可以类似于数组进行访问。
http://msdn.microsoft.com/en-us/library/dc0c9ekk.aspx
//Create the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
//Display all the book titles.
XmlNodeList elemList = doc.GetElementsByTagName("title");
for (int i=0; i < elemList.Count; i++)
{
Console.WriteLine(elemList[i].InnerXml);
}
您可以使用XPath和SelectSingleNode SelectNodes来选择节点。看看http://www.codeproject.com/Articles/9494/Manipulate-XML-data-with-XPath-and-XmlDocument-C例如。然后您可以使用例如InnerText来获得最终结果。也许您需要使用名称空间(gphoto)。//videostatus
将选择所有视频状态元素
您可以尝试使用LINQ
XNamespace ns = XNamespace.Get(""); //use the xmnls namespace here
XElement element = XElement.Load(""); // xml file path
var result = element.Descendants(ns + "videostatus")
.Select(o =>o.Value).ToList();
foreach(var values in value)
{
}
感谢
Deepu