爵士
我正在执行从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>
我想从xml的以下行中删除这些内容
<ARTICLE ID="665875" POSTING_DATE="25-Jun-2012" POSTING_TIME="06:00" ARCHIVE_DATE="18-Jun-2013">
由于
答案 0 :(得分:2)
您可以使用以下代码执行此操作:
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);
答案 1 :(得分:1)
试试这些。创建XmlDocument对象以保留xml文件:
XmlDocument xDoc = new XmlDocument();
接下来使用load方法从指定的流加载XML文档。
xDoc.Load("pathToYourXmlFile.xml");
使用GetElementsByTagName()方法获取与指定名称匹配的元素集合的地址。
XmlNodeList newsFeed= xDoc.GetElementsByTagName("NEWSFEED");
XmlNodeList表示指定节点下的有序节点集合。
答案 2 :(得分:1)
我想获取字符串中的内容,例如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();