我有一个包含元素的xml文件。 我将xml文件的内容作为字符串存储在我的一个项目中的csv中。我正在从csv中读取该xml的内容,我想要在xml文件的内容中存在的标记数据 我试过这样的。
XmlDocument doc = new XmlDocument();
doc.LoadXml(Convert.ToString(dataRow["XML"]));
var temp = doc.GetElementsByTagName("Mail");
但是我没有将Mail的值变为temp.I应该怎么做?
答案 0 :(得分:1)
GetElementsByTagName
返回XmlNodeList
。 MSDN Reference
// Display all the book titles.
XmlNodeList elemList = doc.GetElementsByTagName("title");
for (int i=0; i < elemList.Count; i++)
{
Console.WriteLine(elemList[i].InnerXml);
}
Linq解决方案:
var xDoc = XDocument.Load(dataRow["XML"].ToString());
var mailList = xDoc.Descendants("Mail")
.Select(x => new
{
MailID = x.Element("MailID").Value
})
.ToList();
<强>更新强>:
XmlDocument doc = new XmlDocument();
doc.LoadXml(Convert.ToString(dataRow["XML"]));
var temp = doc.GetElementsByTagName("Mail");
// loop through all retrieved "Mail" elements
foreach(XmlElement xElem in temp)
{
string sMailText = xElem.InnerText;
}