我有一个返回大型xml文件的请求。我在我的应用程序中有一个XmlDocument类型的文件。从那个Doc我怎么能读出这样的元素:
<gphoto:videostatus>final</gphoto:videostatus>
我想从该元素中获取最终值。另外,如果我也有多个元素,我可以将其拉入列表吗?谢谢你的任何建议。
答案 0 :(得分:3)
如果您已经有一个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);
}
答案 1 :(得分:1)
您可以使用XPath和SelectSingleNode SelectNodes选择节点。请查看http://www.codeproject.com/Articles/9494/Manipulate-XML-data-with-XPath-and-XmlDocument-C示例。然后你可以使用例如InnerText来获得最终结果。也许你需要使用命名空间(gphoto)。 //videostatus
将选择所有视频元素
答案 2 :(得分:0)
您可以尝试使用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)
{
}
由于
迪普