函数“WriteStartElement”不返回任何内容。我发现这有点古怪。 所以到现在为止我一直这样做。
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;
保存文档,然后重新加载它以获取start元素,以便我可以为其编写属性。有没有人知道这样做的正确方法,因为我很确定我正在做的事情是不对的。
我尝试使用xmlWriter.AppendChild(),但它似乎没有写出任何东西。 :(
答案 0 :(得分:3)
如果您使用3.5或更高版本,XDocument
会让您坠入爱河。
答案 1 :(得分: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();
答案 2 :(得分:0)
您是否考虑过使用XmlSerializer
?创建一个类来保存所有数据,创建类的实例,然后使用XmlSerializer将其写入XML文件。