问题描述
我正在尝试读取这个 XML 数据,到目前为止我已经尝试过:
I am trying to read this XML data, so far I have tried this:
这使我能够获取每个节点,其属性名称和值,因此我可以将这些数据保存到数据库中的相关字段中,但这似乎是一个冗长的方式,并且不灵活,例如,如果 XML 结构发生变化,所有这些 foreach 语句都需要重新访问,那么这种方式也很难过滤数据,我需要编写某些 if 语句来过滤数据(例如,仅从 West 获取员工等...)
This enables me to get each node, its attribute name and value and so I can save these data into the relevant field in database, but this seems a long winded way and not flexible, for instance if the XML structure changes all those foreach statements needs revisiting, also it is difficult to filter the data this way, I need to write certain if statements to filter the data (e.g get employees from West only etc...)
我一直在寻找一种更灵活的方式,使用 linq,如下所示:
I was looking for a more flexible way, using linq, something like this:
但我不确定如何从子节点获取值并应用过滤(仅获取某些员工).这可能吗?任何帮助表示赞赏.
But I am not sure how I can get the values from the child nodes and apply the filtering (to get the certain employees only). Is this possible? Any help is appreciated.
谢谢
推荐答案
但当 XML 文件结构发生变化时,仍需要修改查询.
But it will still require query revision when XML file structure changes.
编辑
查询每个员工的多个区域:
Query for multiple regions per employee:
然后,您可以仅筛选来自给定区域的员工列表:
You can then filter the list for employees from given region only:
这篇关于使用 LINQ 解析 XML 以获取子元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!