【问题标题】:XMLDocument to xml fileXMLDocument 到 xml 文件
【发布时间】:2013-08-13 09:08:12
【问题描述】:

在我的 Web 服务中,我使用此代码发送 XML 文档,

      XmlDocument doc = new XmlDocument();
      doc.LoadXml(myBigData.Serialize());
      return result = doc.DocumentElement;

现在在我的 c# 控制台应用程序中,我正在调用这个 web 方法,

      XmlElement returnedDataFromWebMethod = myWbSercvices.WebMethod();

现在如何将此 XML 元素转换为 xml 文件,例如在我的 C 驱动器中,这样我就可以查看 xml 文档是否为文档,而不是使用 foreach(XMLNode) 进行查看

【问题讨论】:

    标签: c# xml .net-2.0


    【解决方案1】:

    创建一个新的 XmlDocument:

    XmlDocument doc = new XmlDocument();
    

    调用您的 Web 方法并将其保存在 XmlNode 中

    XmlNode returnedDataFromWebMethod = myWbSercvices.WebMethod();
    

    添加你的元素

    doc.AppendChild(returnedDataFromWebMethod);
    

    保存文档

    doc.Save("result.xml");
    

    【讨论】:

      【解决方案2】:

      你可以试试这个:

      var doc = new XmlDocument();
      var node = doc.ImportNode(returnedDataFromWebMethod, true);
      doc.AppendChild(node);
      doc.Save("output.xml");
      

      【讨论】:

        【解决方案3】:

        您可以使用 XmlWriter 和 WriteTo 方法。 http://msdn.microsoft.com/en-us/library/system.xml.xmlelement.writeto.aspx

        例子:

        XmlWriterSettings xmlSetings = new XmlWriterSettings();
        xmlSetings.Indent = true;
        xmlSetings.Encoding = Encoding.ASCII;
        
        XmlWriter writer = XmlWriter.Create(@"C:\someFile.xml", xmlSetings);
        returnedDataFromWebMethod.WriteTo(writer);
        

        【讨论】:

        • 谢谢,但它给了我空白文件,但是当我尝试使用 outerxml 时,它确实返回了几个节点
        • 我不知道这是否是空文件问题的根源,因为我现在没有VS,但也许你还没有关闭作者:writer.WriteEndDocument (); writer.Flush(); writer.Close();
        猜你喜欢
        • 1970-01-01
        • 2012-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-14
        • 1970-01-01
        • 2020-06-30
        相关资源
        最近更新 更多