ASP.NET LINQ to XML 如何达到 node/element 只给出名字?
ASP.NET LINQ to XML how to reach an node/element just giving the name?
我想获取以下代码中的粗体元素:_connectionId 和 return。
有两个 return 标签,我需要获取 "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" 命名空间。
我想获取以下代码中的粗体元素:_connectionId 和 return。
有两个 return 标签,我需要获取 "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" 命名空间。