Search
SL ws返回 xml sl读取成功 linq数据的时候报错 请大虾虾们帮忙指点
//实体
public class XC_D
{
public XC_D() { }
///
/// 明细ID
///
public int PTDID
{
get;
set;
}
///
/// 编码
///
public int PTMID
{
get;
set;
}
....
}
protected void GetElementItem()
{
TemplateDB.WebServiceSoapClient wssc = new PrintTemplate.TemplateDB.WebServiceSoapClient();
wssc.GetItemlate_DCompleted+=new EventHandler
wssc.GetItemlate_DAsync(TemplateID);
}
void wssc_GetItemlate_DCompleted(object sender, PrintTemplate.TemplateDB.GetItemlate_DCompletedEventArgs e)
{
if (e.Error != null)
{
System.Windows.Browser.HtmlPage.Window.Alert(e.Error.ToString());
}
else
{
System.Windows.Browser.HtmlPage.Window.Alert("开始!");
XmlReader xr = XmlReader.Create(new StringReader(e.Result.ToString()));
XDocument document = XDocument.Load(xr);
System.Windows.Browser.HtmlPage.Window.Alert("读取完毕!");
var projects = from f in document.Descendants("ds")
select new XC_D
{
PTDID=int.Parse(f.Attribute("PTDID").Value),
PTMID=int.Parse(f.Attribute("PTMID").Value)
};
System.Windows.Browser.HtmlPage.Window.Alert("开始遍历!");
List
list.AddRange(projects);
System.Windows.Browser.HtmlPage.Window.Alert(list.Count.ToString());
foreach (XC_D item in list)
{
System.Windows.Browser.HtmlPage.Window.Alert(item.ControlName);
}
System.Windows.Browser.HtmlPage.Window.Alert("遍历结束!");
XML的数据读取成功 在linq的时候
var projects = from f in document.Descendants("ds")
select new XC_PrintTemplate_D
{
PTDID=int.Parse(f.Attribute("PTDID").Value),
PTMID=int.Parse(f.Attribute("PTMID").Value)
};
这段报错
用户代码未处理 System.NullReferenceException
Message="未将对象引用设置到对象的实例。"
StackTrace:
位于 PrintTemplate.MainPage.
位于 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
位于 System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
位于 System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
位于 PrintTemplate.MainPage.wssc_GetItemlate_DCompleted(Object sender, GetItemlate_DCompletedEventArgs e)
位于 PrintTemplate.TemplateDB.WebServiceSoapClient.OnGetItemlate_DCompleted(Object state)
InnerException:
=====================================================================================
//ws
[WebMethod]
public object GetItemlate_D(int TID)
{
XCJY.BLL.XC_PrintTemplate_D bll = new XCJY.BLL.XC_PrintTemplate_D();
string xml = bll.GetList(string.Format("PTMID={0}", TID)).GetXml();
return xml;
}
返回的xml正确
=====================================================================================
小弟弟我刚接触sl3天有余 请大侠助我
读取到的XML

