带有XElement返回类型的.net webservice

本文关键字:net webservice 返回类型 XElement 带有 | 更新日期: 2023-09-27 18:04:29

有一种方法可以使web服务返回XElement类型的参数?现在我正在使用XmlNode返回类型,但我想摆脱使用这个旧的xml库。

我用这个:

XDocument doc = new XDocument();
XElement xml = new XElement("produtos");
doc.Add(xml);
//...
var xmlDoc = new XmlDocument();
using (var xmlReader = doc.CreateReader())
{
    xmlDoc.Load(xmlReader);
}
return xmlDoc;

我不明白为什么webservice不与XmlLinq库工作

带有XElement返回类型的.net webservice

您应该能够这样做:

[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XElement GetSomething()
{
    return new XElement("Something");
}

我使用了一个扩展方法将XElement转换为XmlElement(根据@Ocelot20的建议):

<System.Runtime.CompilerServices.Extension()> _
Public Function ToXmlElement(value As XElement) As XmlElement
    Dim xmlDoc = New XmlDocument()
    xmlDoc.LoadXml(value.ToString())
    Return xmlDoc.DocumentElement
End Function

似乎工作良好!