有没有更好的方法来读取 LINQ-to-XML 中的 XML 后代?
我有这样的代码:
string result = xml.Root.Descendants("XYZ").Descendants("ABC").Descendants("MNO").Single().Value;
1)有没有更好的方法来读取值?某种通用的方式不依赖于我必须去的深度节点的数量?
2)消除对“XYZ”、“ABC”等的硬编码依赖的方法是什么?
I have code like this:
string result = xml.Root.Descendants("XYZ").Descendants("ABC").Descendants("MNO").Single().Value;
1) Is there a better way to read the value? Some way generic that is not dependent on the nuber of nodes deep that I have to go?
2) What would be the approach to remove the hard-coded dependency on "XYZ", "ABC" etc. ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
目前还不清楚你的真正意思,但这就是你想要的吗?
然后你可以调用:
It's unclear what you really mean, but is this what you're after?
Then you can call:
如果您不关心父节点依赖性,则可以直接转到后代调用中的
"MNO"
。xml.Root.Descendants("MNO")
但是,这会产生一系列
MNO
后代,无论它们出现在 XML 结构中的任何位置。所有
MNO
元素都将位于序列中。If you don't care about the parent node dependency, you can just go straight to
"MNO"
in your descendants call.xml.Root.Descendants("MNO")
However, that would produce a sequence of
MNO
descendants from wherever they might show up in your XML structure.All
MNO
elements would be in the sequence.