需要切片内容的XML文件

问题描述:

爵士,需要切片内容的XML文件

我做任务从XML file.I阅读其他节点的内容,但在第一个内容是以下形式获取内容。

<NEWSFEED> 
<ARTICLE ID="665875" POSTING_DATE="25-Jun-2012" POSTING_TIME="06:00" ARCHIVE_DATE="18-Jun-2013"> 
<NEWS_TYPE>News</NEWS_TYPE> 
<HEADLINE>Diabetes Can Make a Comeback After Weight-Loss Surgery: Study</HEADLINE> 
</ARTICLE> 
</NEWSFEED> 

我想从以下行的XML切片这些内容

<ARTICLE ID="665875" POSTING_DATE="25-Jun-2012" POSTING_TIME="06:00" ARCHIVE_DATE="18-Jun-2013"> 

感谢

+0

你要切什么内容?你如何让他们分裂?提供更多细节。 – nunespascal

+0

好吧,先生,我是这个网站的新手。 – chetan1539

+0

我想获取字符串中的内容,例如ID =“”,POSTING_DATE =“”和POSTING_TIME =“”,以及ARCHIVE_DATE =“” – chetan1539

尝试这些。创建XmlDocument对象以保留xml文件:

XmlDocument xDoc = new XmlDocument(); 

接下来使用load方法从指定的流中加载XML文档。

xDoc.Load("pathToYourXmlFile.xml"); 

使用GetElementsByTagName()方法获取与指定名称匹配的元素集合的地址。

XmlNodeList newsFeed= xDoc.GetElementsByTagName("NEWSFEED"); 

XmlNodeList表示指定节点下的节点的有序集合。

我想在字符串中的内容,比如ID = “”,POSTING_DATE = “” 和POSTING_TIME = “”,并ARCHIVE_DATE = “”

使用LINQ to XML,你可以这样做:

using System.Linq; 
using System.Xml.Linq; 

string xml = @"<NEWSFEED> 
        <ARTICLE ID='665875' POSTING_DATE='25-Jun-2012' 
          POSTING_TIME='06:00' ARCHIVE_DATE='18-Jun-2013'> 
         <NEWS_TYPE>News</NEWS_TYPE> 
         <HEADLINE>Diabetes Can Make a Comeback After Weight-Loss 
           Surgery: Study</HEADLINE> 
        </ARTICLE> 
       </NEWSFEED>"; 
XElement doc = XElement.Parse(xml); 
var results = doc.Descendants("ARTICLE") 
    .Select(d => 
     new 
     { 
      ID = d.Attribute("ID").Value ?? "", 
      POSTING_DATE = d.Attribute("POSTING_DATE").Value ?? "", 
      ARCHIVE_DATE = d.attribute("ARCHIVE_DATE").Value ?? "", 
     }).ToList(); 

您可以用下面的代码做到这一点:

 string x = "<NEWSFEED><ARTICLE ID='665875' POSTING_DATE='25-Jun-2012' POSTING_TIME='06:00' ARCHIVE_DATE='18-Jun-2013'><NEWS_TYPE>News</NEWS_TYPE><HEADLINE>Diabetes Can Make a Comeback After Weight-Loss Surgery: Study</HEADLINE></ARTICLE></NEWSFEED>"; 
     XmlDocument xDoc = new XmlDocument(); 
     xDoc.LoadXml(x); 
     foreach (XmlElement element in xDoc.GetElementsByTagName("ARTICLE")) 
      foreach (XmlAttribute attr in element.Attributes) 
       Console.WriteLine("{0}={1}", attr.Name, attr.Value);