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

sac*_*hin 21 c# xml

我有如下功能

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;
    }
Run Code Online (Sandbox Code Playgroud)

我正在从另一个方法将xml传递给此方法.但是doc.loadxml(),系统期望一个字符串,因为我传递了一个xml,它会抛出error.Pls帮助.提前致谢..

Kim*_*ho6 49

正如克里斯所说,你可以这样做:

public string GetXMLAsString(XmlDocument myxml)
{
    return myxml.OuterXml;
}
Run Code Online (Sandbox Code Playgroud)

或者像这样:

public string GetXMLAsString(XmlDocument myxml)
    {

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

        string str = sw.ToString();// 
        return str;
    }
Run Code Online (Sandbox Code Playgroud)

如果你真的想创建一个新的,XmlDocument那么这样做

XmlDocument newxmlDoc= myxml
Run Code Online (Sandbox Code Playgroud)


Chr*_*ray 29

将XmlDocument转换为字符串有一种更简单的方法; 使用OuterXml属性.该OuterXml属性返回XML的字符串版本.

public string GetXMLAsString(XmlDocument myxml)
{
    return myxml.OuterXml;
}
Run Code Online (Sandbox Code Playgroud)