我有一个查询web服务的InfoPath 2010表单。web服务期望将整个InfoPath表单作为XML字符串参数。我所说的XML字符串是指格式上的字符串
<my:myFields xmlns:my=...>
<my:Name>UserName</my:Name>
...
</my:myFields> 然后,web服务将处理该字符串,并将结果返回给InfoPath表单。
我试图传递根元素".",但在web服务端,我收到的值仅由\r\n和\t格式化。
发布于 2011-05-19 20:00:18
通过将列表名称和表单名称传递给web服务,我找到了一种解决方法。然后,托管在SharePoint中的web服务将获得表单的XML。
下面是供参考的代码:
public class InfoPathHelper
{
private string _listName;
private string _fileUrl;
public InfoPathHelper(string listName, string fileName)
{
_listName = listName;
_fileUrl = string.Format("{0}/{1}.xml", listName, fileName);
}
public string GetFormXml()
{
using (SPWeb web = SPContext.Current.Web)
{
SPList lib = web.Lists[_listName];
SPFile file = lib.RootFolder.Files[_fileUrl];
XmlDocument doc = new XmlDocument();
doc.Load(file.OpenBinaryStream());
return doc.OuterXml;
}
}
}https://stackoverflow.com/questions/5948742
复制相似问题