用c#从复杂的XML文件中提取元素



我有以下xml文档,需要在c#中解析以提取以下元素:

<Report>
<id>820</id>
<number>u_incident_1</number>
<Entry>
<findings>1</findings>
<area>PS</area>
<section>Section 1</section>
<image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</image>
<image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</image>
<image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</image>
</Entry>
<Entry>
<findings>2</findings>
<area>PR</area>
<section>Section 2</section>
<image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</image>
<image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</image>
<image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</image>
</Entry>
<RE_image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</RE_image>
<RE_image>R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==</RE_image>
</Report>

(1)我想从两个条目中提取<image>元素(总共6个)<Entry>?

(2)如何检索文档末尾的2个<RE_image>元素?

这是使用XDocument库检索所有图像的方法。

var xmlDocument = XDocument.Load("C:\Users\Khora\Desktop\xmlDoc.xml");
var reportElement = xmlDocument.Elements().Where(xe => xe.Name.LocalName == "Report").First();
var allEntries = reportElement.Elements().Where(xe => xe.Name.LocalName == "Entry").ToList();
var allImages = allEntries.SelectMany(xe => xe.Elements().Where(xe => xe.Name.LocalName == "image"));

最新更新