我正在尝试将xml加载到XDocument对象中。

public void ValidateRules(XmlReader xml)
{
    xml.MoveToContent();
    XDocument xDoc = new XDocument();
    xDoc = XDocument.Load(xml);
}

但是,我一直收到错误消息“XmlReader状态应该是交互式的”。我为此寻找了解决方法,并在顶部添加了MoveToContent()方法(如前所述,这会将ReadState更改为Interactive),但是没有用。 ReadState是只读的,我无法更改该值。

这可能是什么问题?

P.S.我尝试加载的XML文件具有DTD引用。它以与XML相同的路径存在。不知道这是否有任何意义。

最佳答案

XML数据是通过读取器读取的空尝试。
读者的ReadState情况将为Initial或EndOfFile(https://msdn.microsoft.com/en-us/library/fxtcxd31.aspx)

public void ValidateRules(XmlReader reader)
{
    XDocument xDoc = XDocument.Load(reader);
}

关于c# - XmlReader状态应为“交互式”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25681703/

10-12 14:53