我将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”)。值不返回值。任何人都可以给我一些洞察力吗?
答案 0 :(得分:0)
我今天遇到了同样的问题。显然&#34; nc&#34;不是命名空间,而实际上是命名空间前缀;你需要获得名称空间本身。以下是必须要做的事情:
XNamespace ns = request.GetNamespaceOfPrefix("nc");
XElement ID = request.Element(ns + "ID");