繁体   English   中英

使用C#获取xml节点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM