使用XmlNodeReader在XmlNode上读取外部Xml会在ASP.NET Core 2.1中返回一个空字符串 .
private string ReadXml(XmlNode element) { using (var reader = new XmlNodeReader(element)) { return reader.ReadOuterXml(); } }
是否可以使用ReadOuterXml方法?
在这里的测试中,调用 MoveToContent() 似乎使它工作:
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 ) .
reader.NodeType
None
它也可能更简单:
return element.OuterXml;
1 回答
在这里的测试中,调用
MoveToContent()
似乎使它工作:读者在第一个节点之前开始,基本上(在移动到内容之前
reader.NodeType
是None
) .它也可能更简单: