[英]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.