gpt4 book ai didi

c# - XML 数据过滤和搜索

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:33 24 4
gpt4 key购买 nike

我有以下可以轻松生成的 XML 代码块。

<?xml version="1.0" encoding="utf-8"?>
<sessions>
<session date="14.10.2016" time="0:1" amount="1">
<Folder>C:\Users</Folder>
<Folder>C:\Tes2t</Folder>
<Folder>C:\Asgbsf\Aleksei</Folder>
</session>
<session date="14.10.2016" time="15:40" amount="7">
<Folder>C:\Users</Folder>
<Folder>C:\Tes2taaaa</Folder>
<Folder>C:\Asgbsf\Aleksei</Folder>
</session>
</sessions>

我正在使用以下函数搜索属性时间为 15:40 和日期为 14.10.2016 的数据

private static IEnumerable<XElement> FindElements(string filename, string date, string time)
{
XElement x = XElement.Load(filename);

return x.Descendants().Where(e => e.Attributes("date").Any(a => a.Value.Equals(date)) &&
e.Attributes("time").Any(a => a.Value.Equals(time)));
}

函数执行如下:

foreach (XElement x in FindElements(pathToXml, "14.10.2016", "15:40"))
Console.WriteLine(x.ToString());

一切正常,但输出是

<session date="14.10.2016" time="15:40" amount="7">
<Folder>C:\Users</Folder>
<Folder>C:\Tes2taaaa</Folder>
<Folder>C:\Asgbsf\Aleksei</Folder>
</session>

我只需要文件夹,例如。

<Folder>C:\Users</Folder>
<Folder>C:\Tes2taaaa</Folder>
<Folder>C:\Asgbsf\Aleksei</Folder>

我如何实现这一目标?请帮忙。

最佳答案

(看来我有点晚了,但是..)在某些情况下,像这样使用 XpathLinq 更容易。

var folders = XDocument.Load(filename)
.XPathSelectElements("//session[@dat‌​e='14.10.2016' and @time='15:40']/Folder");

关于c# - XML 数据过滤和搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40206294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com