给出以下XML -
<Response>
<Item name="ItemA" />
</Response>
如何获取name属性的值?
我尝试了几种没有运气的方法,这是最后的尝试 - (请注意,将&#39; xml&#39;的内容写入控制台会显示上述XML)
Dim doc As XDocument = XDocument.Load(xml)
Dim result = From x In doc.Descendants("Item") Select x.Attribute("Name").Value
Console.WriteLine(result)
输出结果:&#34; System.Linq.Enumerable.WhereSelectEnumerableIterator [Of System.Xml.Linq.XElement,String]&#34;
谢谢,
答案 0 :(得分:2)
对于确切的XML结构,您可以执行以下操作:
/etc/init.d/lighttpd restart
请注意Dim result = doc.Root.Element("Item").Attribute("name").Value
返回给定名称的单个子元素。
如果涉及XML名称空间,正如您在下面的评论中所提到的,您需要使用Element()
和元素的local-name的组合来引用XNamespace
元素:
Item
答案 1 :(得分:1)
我更喜欢XElement,更少打字。
Dim xe As XElement
' to load from a file
' Dim yourpath As String = "your path here"
' Dim xe As XElement = XElement.Load(yourpath)
' for testing
xe = <Response>
<Item name="ItemA"/>
</Response>
Dim result As String = xe.<Item>.@name '<<<<<<<<<<<<<<<<<<< answer