XmlTextWriter xmlWriter=new XmlTextWriter (12.xml,null);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation=4;

xmlWriter.WriteStartElement( "document");
         xmlWriter.WriteEndElement ();
xmlWriter.Close ();能执行,可为什么就生不成 12.xml呢?

解决方案 »

  1.   

    设计XmlReadWriter类 
       
       如前面所说,XML reader和Writer是各自独立工作的:reader只读,writer只写。假设你的应用程序要管理冗长的XML文档,且该文档有不确定的数据。Reader提供了一个很好的方法去读该文档的内容。另一方面,Writer是一个非常有用的用于创建XML文档片断工具,但是如果你想要它即能读,又能写,那么你就要用XMLDOM了。如果实际的XML文档非常庞大,又会出现了一个问题,什么问题呢?是不是把这个XML文档全部加载到内存中,然后进行读和写呢?让我们先看一下怎么样建立一个混合的流分析器用于分析大型的XMLDOM。 
       
       像一般的只读操作一样,用普通的XML reader去顺序的访问节点。不同的是,在读的同时你可以用XML writer改变属性值以及节点的内容。你用reader去读源文件中的每个节点,后台的writer创建该节点的一个拷贝。在这个拷贝中,你可以增加一些新的节点,忽略或者编辑其它的一些节点,还可以编辑属性的值。当你完成修改后,你就用新的文档替换旧的文档。 
       
       一个简单有效的办法是从只读流中拷贝节点对象到write流中,这种方法可以用XmlTextWriter类中的两个方法:WriteAttributes方法和WriteNode方法。 WriteAttributes方法读取当前reader中选中的节点的所有有效的属性,然后把属性当作一个单独的string拷贝到当前的输出流中。同样的,WriteNode方法用类似的方法处理除属性节点外的其它类型的节点。图十所示的代码片断演示了怎么用上述的两个方法创建一个源XML文档的拷贝,有选择的修改某些节点。XML树从树根开始被访问,但只输出了除属性节点类型以外的其它类型的节点。你可以把Reader和Writer整合在一个新的类中,设计一个新的接口,使它能读写流及访问属性和节点。 
       
      Figure 10 Using the WriteNode Method 
       
      XmlTextReader reader = new XmlTextReader(inputFile); 
       
      XmlTextWriter writer = new XmlTextWriter(outputFile); 
       
       
       
      // 配置 reader 和 writer 
       
      writer.Formatting = Formatting.Indented; 
       
      reader.MoveToContent(); 
       
       
       
      // Write根节点 
       
      writer.WriteStartElement(reader.LocalName); 
       
       
       
      // Read and output every other node 
       
      int i=0; 
       
      while(reader.Read()) 
       
      { 
       
       if (i % 2) 
       
       writer.WriteNode(reader, false); 
       
       i++; 
       
      } 
       
       
       
      // Close the root 
       
      writer.WriteEndElement(); 
       
       
       
      // Close reader and writer 
       
      writer.Close(); 
       
      reader.Close(); 
       
       我的XmlTextReadWriter类并没有从XmlReader或者XmlWriter类中继承。取而代之的是另外两个类,一个是基于只读流(stream)的操作类,另一个是基于只写流的操作类。XmlTextReadWriter类的方法用Reader对象读数据,写入到Writer对象。为了适应不同的需求,内部的Reader和Writer 对象分别通过只读的Reader和Writer属性公开
      

  2.   

    http://cn.thespoke.net/MyBlog/xrascal/MyBlog.aspx
      

  3.   

    式式这个void CreateXmlFileUsingWriters(String[] theArray, string filename) 
       
      { 
       
       // Open the XML writer (用默认的字符集) 
       
       XmlTextWriter xmlw = new XmlTextWriter(filename, null); 
       
       xmlw.Formatting = Formatting.Indented; 
       
       
       
       xmlw.WriteStartDocument(); 
       
       xmlw.WriteStartElement("array"); 
       
       foreach(string s in theArray) 
       
       { 
       
       xmlw.WriteStartElement("element"); 
       
       xmlw.WriteAttributeString("value", s); 
       
       xmlw.WriteEndElement(); 
       
       } 
       
       xmlw.WriteEndDocument(); 
       
       
       
       // Close the writer 
       
       xmlw.Close(); 
       
      } 
      

  4.   

    各位老大,还是输不出12.xml文件啊
      

  5.   

    搂主,你的12.xml是否应该加上“”?
    我用你的程序在12.xml上加上“”后,确实可以生成了。
      

  6.   

    XmlTextWriter xmlWriter=new XmlTextWriter ("12.xml",null);
    加引号。。