gpt4 book ai didi

c# - 解析 XML 文件中的两条连续记录

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

我有一个 XML 文件:

<root type="service">
<Msg Date="03/23/2013 12:00:04 AM">Request'HANDSHAKE'</Msg>
<Msg Date="03/23/2013 12:00:04 AM">Response'RSHANDSHAKE'</Msg>
<Msg Date="03/23/2013 12:03:04 AM">Request'HANDSHAKE'</Msg>
<Msg Date="03/23/2013 12:03:04 AM">Response'RSHANDSHAKE'</Msg>
<Msg Date="03/23/2013 01:34:30 PM">Request 'IQ~bbabb3ff2-...DLE~VNECTRECVBDHANDLE'</Msg>
<Msg Date="03/23/2013 01:34:30 PM">Response SIQ~7a23da12...RDHANDLE=O000000000014'</Msg>
</root>

我必须解析文件并查看每个请求后是否都有响应。如果没有响应,则表示有错误。我如何在 C# 中执行此操作,最好是在 LINQ 中?

最佳答案

您应该使用像 LINQ to XML 这样的 XML 解析器。这样,您的代码可能如下所示:

XDocument doc = XDocument.Load("file.xml");
bool isError = (from e1 in doc.Root.Elements()
where e1.Value.StartsWith("Request")
let e2 = e1.ElementsAfterSelf().FirstOrDefault()
where e2 == null || !e2.Value.StartsWith("Response")
select e1).Any();

这篇文章按照您的要求进行:对于每个 Request 元素,它检查以下元素是否存在并且是 Response 元素。

如果您有其他要求,例如Response 元素本身也是无效的,您必须相应地修改代码。

关于c# - 解析 XML 文件中的两条连续记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914110/

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