繁体   English   中英

ASP.NET Core 2.1 XmlNodeReader

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


它也可能更简单:

return element.OuterXml;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM