C# MVC解析Web服务中的XML
我正试图解析来自web服务的xml结果,但得到一个错误C# MVC解析Web服务中的XML,c#,xml,web-services,asp.net-mvc-4,C#,Xml,Web Services,Asp.net Mvc 4,我正试图解析来自web服务的xml结果,但得到一个错误{'System.xml.Linq.XElement.parse(string)'的最佳重载方法匹配项有一些无效参数} XML输出 <?xml version="1.0" encoding="UTF-8"?> -<List> -<Customer> <Surname>Spack</Surname> <Firstname>Bob</Firstname> <
{'System.xml.Linq.XElement.parse(string)'的最佳重载方法匹配项有一些无效参数}
XML输出
<?xml version="1.0" encoding="UTF-8"?>
-<List>
-<Customer>
<Surname>Spack</Surname>
<Firstname>Bob</Firstname>
</Customer>
</List>
-
-
斯帕克
上下快速移动
我做错了什么,请帮助。如果您使用F12 XElement.Parse,您可以看到它只有两个单独的方法签名,在这两个签名中,预期的第一个参数都是字符串。我将猜测service.GetDetails不会返回字符串
如果在ViewBag的末尾抛出一个.ToString()。姓氏赋值至少可以让您摆脱编译错误。很难说这是否真的能得到您想要的数据。正如错误消息所建议的,
XElement.Parse()
expectstring
作为参数(而不是您当前通过的XmlDocument
)
您可以使用获取XmlDocument
的字符串标记表示形式:
ViewBag.Surname = XElement.Parse(result.OuterXml)
.Descendants("Customer")
.Single()
.Element("Surname")
.Value;
什么是数据类型
GetDetails()
method return?结果的类型是什么?完整的异常详细信息是什么?另外,这真的是您的xml吗?因为在您的问题中,它不是xml。我的Web服务使用[WebMethod]公共XmlDocument GetDetails(string systemId,string appId)
所以我应该返回一个XML文档。谢谢,这将错误分类,现在我有了一个新的“object”不包含“Single”的定义。
我想要的只是返回姓氏,你能看到我的XML输出并确定我哪里出错了吗?我在这里没有得到这样的错误。但我注意到,姓氏是一个节点/元素不是属性。我已根据您的建议修改了代码,现在得到的错误是“object”不包含“Single”的定义有想法吗?奇怪,没有想法。XElement.subjects()
不应返回object
,
ViewBag.Surname = XElement.Parse(result.OuterXml)
.Descendants("Customer")
.Single()
.Element("Surname")
.Value;