C# 使用C语言将XML转换为字符串#
我有一个如下的函数C# 使用C语言将XML转换为字符串#,c#,xml,C#,Xml,我有一个如下的函数 public string GetXMLAsString(XmlDocument myxml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(myxml); StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); d
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;
}
或者像这样:
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属性。返回xml的字符串版本
public string GetXMLAsString(XmlDocument myxml)
{
return myxml.OuterXml;
}
+1对于使用
的,不需要绕道GetStringBuilder()
,stringWriter.ToString()
就可以了。请看我的答案。这可能会有一些帮助重复:第一个答案非常好用