从Web服务解析XML
本文关键字:XML 服务 Web | 更新日期: 2023-09-27 18:09:04
我正在尝试从web服务解析xml结果,但我得到一个错误{The best overloaded method match for 'System.Xml.Linq.XElement.Parse(string)' has some invalid arguments"}
var service = new RemoteService.RemoteSoapClient("RemoteSoap");
var result = service.GetDetails(systemId, appId);
ViewBag.Surname = XElement.Parse(result).Descendants("Customer").Single().Attribute("Surname").Value;
XML输出
<?xml version="1.0" encoding="UTF-8"?>
-<List>
-<Customer>
<Surname>Spack</Surname>
<Firstname>Bob</Firstname>
</Customer>
</List>
我做错了什么,请帮助。
如果您使用XElement。解析可以看到它只有两个独立的方法签名,在这两个签名中,预期的第一个参数都是字符串。我猜是服务。GetDetails不返回字符串。
如果你在ViewBag的末尾抛出。tostring()。姓氏分配,至少可以让您摆脱编译错误。这是否能得到你想要的数据,很难说。
如错误信息所示,XElement.Parse()
期望string
作为参数(而不是当前通过的XmlDocument
)。
您可以使用XmlDocument.OuterXml
来获得XmlDocument
的字符串标记表示:
ViewBag.Surname = XElement.Parse(result.OuterXml)
.Descendants("Customer")
.Single()
.Element("Surname")
.Value;