gpt4 book ai didi

c# - 如何使用 LINQ 解析包含同名子元素的 XML?

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:52 25 4
gpt4 key购买 nike

背景信息:过去,我一直在挑选一组 XML 文件并遍历每个 XML 文件、解析它、将字符串数据传递给数据传输对象并将该对象传递给数据库。

以前,我的 XML 看起来像这样。

<messages>
<message>
<title>Red Wall</title>
<summary>This is a good article</summary>
<ISBN>13546846545464</ISBN>
</message>
</messages>

在这里,我只有一个元素。因此,我将使用 LINQ 解析 XML 并检索后续元素(标题、摘要、isbn)。然后我将初始化/实例化一个对象,将其属性分配给我检索到的值,然后将其发送。

现在我的 XML 看起来像这样:

<messages>
<message>
<title>Red Wall</title>
<summary>This is a good article</summary>
<ISBN>13546846545464</ISBN>
</message>

<message>
<title>Blue Wall</title>
<summary>This is not a good article</summary>
<ISBN>15648465416</ISBN>
</message>
</messages>

现在我的 XML 文件中有两个(或更多)元素,对于每个元素,我需要1) 确定有多个元素,2)每个创建一个单独的 DTO 来保存我解析的数据。

我的问题是:我如何解析带有多个标签的 XML 并将我遇到的每个标签识别为彼此分开?

最后说明:在解析时,我需要能够实例化一个 DTO 来捕获我返回的信息。

感谢您的帮助!

最佳答案

只需捕获您想要的元素并使用您的选择从子项填充 dto。像这样的东西没有经过测试

XElement ele = loaded.Element("messages");    
dtos = from item in ele.Descendants("message")
select new DTO() {title = item.Element(title).value ,... };

关于c# - 如何使用 LINQ 解析包含同名子元素的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7841602/

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