试图获取Xelement的xml中元素的值

时间:2013-08-15 17:05:10

标签: xml vb.net xelement

我将Xelement传递给函数:

ByVal request As XElement
Xelement对象中的

是一个元素:

<nc:ID>1234567</nc:ID>

我应该能够通过以下方式获得此值:

request.Element("ID").value

......但它没有返回任何东西。我怀疑这是因为名称空间前缀。我在this post中看到了一个解决方案,它在转换为VB.net(request.Elements().Where(Function(e) e.Name.LocalName = "ID").Value)之后有效,但我不明白为什么或为什么.element(“ID”)。值不返回值。任何人都可以给我一些洞察力吗?

1 个答案:

答案 0 :(得分:0)

我今天遇到了同样的问题。显然&#34; nc&#34;不是命名空间,而实际上是命名空间前缀;你需要获得名称空间本身。以下是必须要做的事情:

XNamespace ns = request.GetNamespaceOfPrefix("nc");
XElement ID = request.Element(ns + "ID");