[英]Object reference not set to an instance of an object error flags when running webform
[英]“Object reference not set to an instance of an object” error when running app
我有這段代碼,當用戶單擊按鈕時,該代碼應該將XML文件的屬性加載到字符串變量中:
public void Button1_Click(object sender, EventArgs e)
{
XDocument doc = XDocument.Load("C:/Structure.xml");
Visit(doc.Root);
}
public static void Visit(XElement element)
{
string siteURL1 = element.Attribute("URL").Value;
string siteTitle1 = element.Attribute("siteTitle").Value;
string siteDescription1 = element.Attribute("siteDescription").Value;
string siteTemplate = element.Attribute("siteTemplate").Value;
string name = element.Attribute("type").Value;
Execute(name, siteURL1, siteTitle1, siteDescription1, siteTemplate);
}
但是,當我部署Webpart並單擊按鈕時,出現“ NullreferenceException未由用戶代碼處理/未將對象引用設置為對象實例”的錯誤。 上:
string siteURL1 = element.Attribute("URL").Value;"
我可能做錯了什么嗎?
結構如下所示:
<root>
<level1 name="level1A"
type="Private"
template="3
siteTitle="Private"
siteDescription="Private Site"
URL"private">
<level2 name="level2A">
<level3 name="level3A">
<level4 name="level4A">
<level5 name="level5A">
<level6 name="level6A">
<level7 name="level7A">
<level8 name="level8A"></level8>
</level7>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
</root>
element.Attribute("URL")
為null。 您將需要檢查數據(XML),以了解其原因。 您的代碼采用某種看起來不正確的結構。 仔細觀察傳入的元素。
我看錯了兩件事之一...
object
element
為null
要么
該element
的attribute
URL不存在
嘗試類似...
var url = element.Attribute("URL");
string siteURL1;
if(url != null)
{
siteURL1 = url.Value;
}
在XDocument doc = XDocument.Load("C:/Structure.xml");
之后,進行一些驗證以確保doc
不為空XDocument doc = XDocument.Load("C:/Structure.xml");
。 部署后,您是否可以訪問該位置上的XML文件?
還有其他一些可能出錯的地方,下面是一個快速列表:
運行調試並查看要傳遞給Visit方法的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.