2010-04-15 40 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文件。