从XML文件中获取子节点
本文关键字:获取 子节点 文件 XML | 更新日期: 2023-09-27 17:50:26
我有一个类似的XML文件
<Attachment>
<FileName>Perimeter SRS.docx</FileName>
<FileSize>15572</FileSize>
<ActivityName>ActivityNamePerimeter SRS.docx</ActivityName>
<UserAlias>JameelM</UserAlias>
<DocumentTransferId>7123eb83-d768-4a58-be46-0dfaf1297b97</DocumentTransferId>
<EngagementName>EAuditEngagementNameNew</EngagementName>
<Sender>JameelM@orioninc.com</Sender>
</Attachment>
我阅读了这些xml文件,如下
var doc = new XmlDocument();
doc.Load(files);
foreach (XmlElement pointCoord in doc.SelectNodes("/Attachment"))
{
}
我需要获取Attachment节点中的每个子节点值。如何从xml节点列表中获取这些xml元素?
我需要获取Attachment节点中的每个子节点值。
你的问题很不清楚,但看起来就像它很简单:
foreach (XmlNode node in doc.DocumentElement.ChildNodes)
{
}
毕竟,在您向我们展示的文档中,Attachment
是文档元素。不需要XPath。
顺便说一句,如果您使用的是.NET 3.5或更高版本,那么LINQ to XML是一个比旧的DOM(XmlDocument
等(API更好的XML API。
尝试这个
var data = from item in doc.Descendants("Attachment")
select new
{
FileName= item.Element("FileName").Value,
FileSize= item.Element("FileSize").Value,
Sender= item.Element("Sender").Value
};
foreach (var p in data)
Console.WriteLine(p.ToString());
var doc = new XmlDocument();
doc.Load(files);
foreach (XmlElement pointCoord in doc.SelectNodes("/Attachment"))
{
if(pointCoord!=null)
{
var valueOfElement=pointCoord.InnerText;
}
}
如果要对元素名称(UserAlias等(运行条件逻辑,请使用XmlElement的Name属性。