繁体   English   中英

使用 C# 将 XML 转换为字符串

[英]Converting XML to string using C#

我有一个 function 如下

public string GetXMLAsString(XmlDocument myxml)
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(myxml);
       
        StringWriter sw = new StringWriter();
        XmlTextWriter tx = new XmlTextWriter(sw);
        doc.WriteTo(tx);

        string str = sw.ToString();// 
        return str;
    }

我将 XML 从另一种方法传递给此方法。 但是在doc.loadxml()中,系统需要一个字符串,并且由于我传递的是 XML,它会引发错误。

如何解决这个问题?

正如克里斯建议的那样,您可以这样做:

public string GetXMLAsString(XmlDocument myxml)
{
    return myxml.OuterXml;
}

或者像这样:

public string GetXMLAsString(XmlDocument myxml)
    {

        StringWriter sw = new StringWriter();
        XmlTextWriter tx = new XmlTextWriter(sw);
        myxml.WriteTo(tx);

        string str = sw.ToString();// 
        return str;
    }

如果你真的想创建一个新的XmlDocument然后这样做

XmlDocument newxmlDoc= myxml

有一种更简单的方法可以将您的 XmlDocument 转换为字符串; 使用OuterXml属性。 OuterXml 属性返回 xml 的字符串版本。

public string GetXMLAsString(XmlDocument myxml)
{
    return myxml.OuterXml;
}
   public string GetXMLAsString(XmlDocument myxml)
    {
        using (var stringWriter = new StringWriter())
        {
            using (var xmlTextWriter = XmlWriter.Create(stringWriter))
            {
               myxml.WriteTo(xmlTextWriter);
               return stringWriter.ToString();
            }

        }    
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM