[英]Get xml node using c#
我有一个返回大xml文件的请求。 我的应用程序中具有XmlDocument类型的文件。 从该文档中,我如何读取这样的元素:
<gphoto:videostatus>final</gphoto:videostatus>
我想从那个元素中得出最终的价值。 另外,如果我也有多个元素,是否可以将其纳入列表? 感谢您的任何建议。
如果已经有了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
将选择所有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)
{
}
谢谢
迪普
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.