2013-10-23 36 views
1

我有一段代碼填充散列表的字符串,例如:(「name」,Oscar)。我想用它們來填充(只是內存使用)值和XMLAtributes的內文。但是有一個問題。XmlAttribute值和innertextxt

XmlElement Co = newDoc.CreateElement("Co1"); 

XmlAttribute series = Co.Attributes.Append(newDoc.CreateAttribute("series")); 
     series.InnerText = (string)vector["series"]; 
     series.Value = (string)vector["series"]; 
     MessageBox.Show((string)vector["series"]); 
     MessageBox.Show(Co.Attributes["series"].InnerText.ToString()); 
     MessageBox.Show(Co.Attributes["series"].Value.ToString()); 

當過我想要的系統,以顯示我的價值或innerText屬性(在XML中創建方法這段代碼是)它有它沒有返回。然後它傳遞給下一個屬性並返回一個「未設置爲對象實例的對象引用」。下一段代碼是這一個:

XmlAttribute folio = Co.Attributes.Append(newDoc.CreateAttribute("folio")); 
      folio.InnerText = vector["folio"].ToString(); 

錯誤命中最後一行。

在類的任何其他位置,我可以通過.ToString()方法和cast檢索和檢索hastable的值。

似乎我沒有正確地從我的散列表中獲取值,或者我缺少XMLAtributes的東西......¿這樣做的正確方法是什麼?

回答

0

你這樣做硬盤的方式:

var folio = Convert.ToString(vector["folio"]); 
Co.SetAttribute("folio", folio); 

沒有必要擔心像InnerText

+0

嗨,感謝您的回覆,但我得到了同樣的結果! – Carlos

+0

@Carlos你確定'vector'包含'folio'的條目嗎? –

+0

是的,我已經做了一個方法來告訴我它確實有值(一個公共空白)。只有當我執行public void createXML()(創建XML的那個)時,我無法看到我的Hashtable值,也沒有看到同一類的任何公共字符串值。 – Carlos