2010-04-15 69 views
0

函數「WriteStartElement」不返回任何內容。我覺得這有點b。。 到目前爲止,我一直這樣做。將屬性添加到C#中的xml根元素的合理方法

XmlDocument xmlDoc = new XmlDocument(); 
XmlTextWriter xmlWriter = new XmlTextWriter(m_targetFilePath, System.Text.Encoding.UTF8); 
xmlWriter.Formatting = Formatting.Indented; 
xmlWriter.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); 
xmlWriter.WriteStartElement("client"); 
xmlWriter.Close(); 
xmlDoc.Load(m_targetFilePath); 
XmlElement root = xmlDoc.DocumentElement; 

保存文檔,然後重新加載它以獲取啓動元素,以便我可以寫入屬性。有沒有人知道這樣做的正確方式,因爲我很確定我在做什麼是不對的。

我試圖使用xmlWriter.AppendChild(),但它似乎沒有寫出任何東西。 :(

回答

3

如果您正在使用3.5或更高版本,XDocument會讓你愛上。

+0

只是移動到3.5 - 我想我即將轉換我的類 – DrLazer 2010-04-15 15:35:51

1

你有沒有嘗試過這樣的事情?

// add the root node  
xmlWriter.WriteStartElement("client"); 
// add the attribute to root node 
xmlWriter.WriteStartAttribute("foo"); 

// add the value of the attribute 
xmlWriter.WriteValue("attribute value..."); 

// close the attribute to root node 
xmlWriter.WriteEndAttribute(); 
// close the root node 
xmlWriter.WriteEndElement(); 
0

你有沒有看使用XmlSerializer?創建一個類爲了保存所有的數據,創建你的類的一個實例,然後使用XmlSerializer把它寫出來到一個XML文件。

相關問題