2011-03-09 122 views
0

我正尝试创建一个XML文档以通过Web服务返回,并且非常难过。我对XML本身仍然很陌生,所以我在努力学习。我得到的错误是无法返回XML请求

对象引用未设置为对象的一个​​实例 。

该代码的工作原理是调用构造函数,接收请求文档并将其解析为响应。我具有请求和响应的格式,只需要能够将其发回。

代码:

XmlTextReader xml_read = new XmlTextReader(HttpContext.Current.Request.MapPath("/ap/aitcXMLConfirmationRequest.xml")); 
XmlDocument xml_doc = new XmlDocument(); 
xml_doc.Load(xml_read); 
xml_read.Close(); 

//Do some stuff. 
int int_dtl = 1; 

//Builds the list of Confirmation items. 
XmlNodeList nodelst_cnfrm = p_transdoc.SelectNodes("//Request/OrderRequest/ItemOut"); 

foreach (XmlNode node in nodelst_cnfrm) 
{ 
    XmlNode node_cnfrm_itm = this.CreateElement("ConfirmationItem"); 
    //Do some other stuff here 
} 

xml_doc.ImportNode(node_cnfrm_itm,true); 

root.AppendChild(xml_doc); //Error generated here. 
this.AppendChild(root); 

但它给我上述错误。任何人都可以帮忙吗?如果我在AppendChild请求之前操作它,我不知道如何没有对象的实例。

任何想法?

+3

你在哪里创建'root'? – DavidGouge 2011-03-09 17:04:10

回答

1

对于一般情况下的NullReferenceExceptions,您应该在该行放置一个断点(通常为F9)并启动调试器。一旦命中该行,检查变量并确认其中一个实际上是空的。

就你而言,应该很明显root为空(假定代码成功使用xml_doc)。在这一点上,找到root假定的地方,并调查为什么没有发生。