ASP.NET LINQ到XML如何到达一个节点/元素只是给出名称
本文关键字:元素 节点 一个 XML LINQ NET ASP | 更新日期: 2023-09-27 18:01:24
下面的代码,我想得到粗体元素:_connectionId和返回。
有两个返回标签,我需要得到"return"和相对值和相同的"_connectionid"
<Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<Body>
<login_newResponse xmlns='"http:XXXXXXXXXXXX.wsdl">
<return>
<_**connectionid**>@@@@@@@@@@@@@AHT@Q@@@@@D@GR@SUEF</_**connectionid**>
<**return**>CONNESSIONE AVVENUTA</**return**>
</return>
</login_newResponse>
</Body>
</Envelope>
我试过用这个代码
XDocument XML = XDocument.Load(s);
var lv1s = from lv1 in XML.Descendants("Body")
select lv1.Nodes();
我得到一个XML字符串列表,但它是不可能得到一个特定的元素。是否有一种方法可以提取任何指示名称的元素?
谢谢!
如果您只是想快速找到这两个值,您可以这样做:
XNamespace ns = "http:XXXXXXXXXXXX.wsdl";
var data = XML.Root.Elements("Body").Elements(ns + "login_newResponse").Elements(ns + "return")
.Select(e => new { ConnectionId = (string)e.Element(ns + "_connectionid"), Return = (string)e.Element(ns + "return") })
.FirstOrDefault();
可能需要将"http:XXXXXXXXXXXX.wsdl"
替换为"real"命名空间