[英]How do I get the values of all the nodes within the first and last child nodes of an element in C#
我有一个具有以下结构的XML节点:
<package>package <name>com</name>.<name>sample</name>.<name>app1</name>;</package>
名称标签可以出现随机的次数,我想要的是获取元素列表中第一个和最后一个子节点之间的所有子节点的值,以获取像这样的值: com.sample.app1 。
我想我可以对包节点的值应用某种类型的正则表达式,该值始终以“ package”开头,以“;”结尾。 还是一些LINQ
或lambda
表达式?
自从我正在处理一个大型XML文件并且此节点是文件的一部分以来,最有效的方法是什么?
好吧,在这种情况下,我只会使用:
var package = string.Join(".", element.Elements("name").Select(x => x.Value));
(其中element
是表示<package>
的XElement
。)
或者,如果存在其他名称空间:
XNamespace ns = "http://some.namespace/here";
var package = string.Join(".", element.Elements(ns + "name")
.Select(x => x.Value));
(其中element
是表示<package>
的XElement
而ns + "name"
将string
与XNamespace
组合在一起以给出正确的XName
。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.