我正在尝试创建一个XML文档以通过Web服务返回,而且我很难过。我对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请求之前一直在操作它,我不明白没有对象的实例。
有什么想法吗?
答案 0 :(得分:1)
一般来说,对于NullReferenceExceptions,您应该在该行上放置一个断点(通常为F9)并启动调试器。一旦命中该行,检查变量并确认其中一个实际上是空的。
在您的情况下,很明显root
为空(假设代码成功使用xml_doc
)。此时,找到要设置root
的地方,并调查未发生的原因。