[英]ASP.NET Core 2.1 XmlNodeReader
使用XmlNodeReader在XmlNode上读取外部Xml会在ASP.NET Core 2.1中返回一个空字符串。
private string ReadXml(XmlNode element)
{
using (var reader = new XmlNodeReader(element))
{
return reader.ReadOuterXml();
}
}
是否可以使用ReadOuterXml方法?
在这里的测试中,调用MoveToContent()
似乎使它工作:
static void Main()
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(@"<foo><bar abc=""def"">ghi</bar></foo>");
var el = doc.SelectSingleNode("/foo/bar");
var s = ReadXml(el);
Console.WriteLine(s);
}
private static string ReadXml(XmlNode element)
{
using (var reader = new XmlNodeReader(element))
{
reader.MoveToContent();
return reader.ReadOuterXml();
}
}
读者在第一个节点之前开始,基本上(在移动到内容之前, reader.NodeType
为None
)。
它也可能更简单:
return element.OuterXml;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.