FileUpload 加载 .XML
我以前使用以下方式加载 XML 文件:
XDocument doc = XDocument.Load("File.xml");
Visit(doc.Root);
现在我想使用 FileUpload 框加载文件:
XmlDocument doc = new XmlDocument();
doc.Load(FileUpload1.FileContent);
Visit(doc.root);
但现在我在 "(doc.root)" 上收到错误。它说“不包含‘Root’的定义,并且没有扩展方法‘Root’接受第一个参数类型”。我做错了什么?
I was previously loading an XML file by using:
XDocument doc = XDocument.Load("File.xml");
Visit(doc.Root);
Now I want to load the file by using a FileUpload box:
XmlDocument doc = new XmlDocument();
doc.Load(FileUpload1.FileContent);
Visit(doc.root);
But now I'm getting an error on "(doc.root)" . It says that "does not contain a definition for 'Root' and no extension method 'Root' accepting a first argument type". What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是因为 XmlDocument 没有 root 属性; XmlDocument 的根由对象的 DocumentElement 属性表示,在您的情况下:
doc.DocumentElement
并且由于您的方法接收 XElement 参数作为输入,因此您需要先将 XmlElement 转换为 XElement将其传递到您的 Visit() 方法中。使用下面的函数来完成此操作。然后尝试以这种方式调用:
That is because XmlDocument doesnt have a root property; The root of the XmlDocument is represented by the DocumentElement property of the object, in your case:
doc.DocumentElement
and since your method receives an XElement parameter as input you will need to convert the XmlElement to an XElement before passing it into your Visit() method. Use the function below for doing it.Then try calling in this way: