我要读取Debug文件夹下hospital.xml文档,
但写入下面的程序,无法读取,请教问题出在哪儿??
XmlDocument hosXml = new XmlDocument();
hosXml.Load("hospital.xml");这里出错!
XmlElement root = hosXml.DocumentElement;
XmlNodeList listArea = root.SelectNodes("/Area/@Name");
但写入下面的程序,无法读取,请教问题出在哪儿??
XmlDocument hosXml = new XmlDocument();
hosXml.Load("hospital.xml");这里出错!
XmlElement root = hosXml.DocumentElement;
XmlNodeList listArea = root.SelectNodes("/Area/@Name");
hosXml.Load(Application.StartupPath+"\\hospital.xml");这里出错!
XmlElement root = hosXml.DocumentElement;
XmlNodeList listArea = root.SelectNodes("/Area/@Name");
然后看hospital.xml文件的路径对不对,你这样写路径在bin/debug下.LZ应该把问题描述清楚,提示什么错误.
hosXml.Load( Application .StartupPath +"\\hospital.xml");这里出错!
另外检查你的XML是否合法~~~~~
比如:xml.Load(("C:\\a.xml")); 或hosXml.Load( Application .StartupPath +"\\hospital.xml");
这样也不对,错误信息是字符无效
<Area Name="北京">
<Hospital>天坛医院</Hospital>
<Hospital>北京三院</Hospital>
<Hospital>积水潭医院</Hospital>
</Area>
<Area Name="广州">
<Hospital>中山医院</Hospital>
<Hospital>中山二院</Hospital>
<Hospital>中山三院</Hospital>
</Area>
这是我的XML文档,是不是这个文档格式错了?
检查你的XML是否合法~~~~~
你可以看下在IE中是否可以打开你的错误不是路径的问题~~~~~~~hosXml.Load("\\hospital.xml");
这样是没问题的,如果你的XML跟EXE放在同一目录下
<?xml version="1.0" standalone="yes"?>
<Areas>
<Area Name="北京">
<Hospital>天坛医院 </Hospital>
<Hospital>北京三院 </Hospital>
<Hospital>积水潭医院 </Hospital>
</Area>
<Area Name="广州">
<Hospital>中山医院 </Hospital>
<Hospital>中山二院 </Hospital>
<Hospital>中山三院 </Hospital>
</Area>
</Areas>
加上一个
<?xml version="1.0" standalone="yes"?>
<ares>
<Area Name="北京">
<Hospital>天坛医院 </Hospital>
<Hospital>北京三院 </Hospital>
<Hospital>积水潭医院 </Hospital>
</Area>
<Area Name="广州">
<Hospital>中山医院 </Hospital>
<Hospital>中山二院 </Hospital>
<Hospital>中山三院 </Hospital>
</Area>
</ares>
XmlNodeList list = root.SelectNodes("Area/@Name");
上面那些说路径错误的人
你们都测试过么??
非得加Application .StartupPath ??
非得使用绝对路径??
你们最好测试下再说吧~~~~~``
////少根结点起始
<Area Name="北京">
<Hospital>天坛医院 </Hospital>
<Hospital>北京三院 </Hospital>
<Hospital>积水潭医院 </Hospital>
</Area>
<Area Name="广州">
<Hospital>中山医院 </Hospital>
<Hospital>中山二院 </Hospital>
<Hospital>中山三院 </Hospital>
</Area>
///少根点结束标识
<Areas>
<Area Name="北京">
<Hospital>天坛医院 </Hospital>
<Hospital>北京三院 </Hospital>
<Hospital>积水潭医院 </Hospital>
</Area>
<Area Name="广州">
<Hospital>中山医院 </Hospital>
<Hospital>中山二院 </Hospital>
<Hospital>中山三院 </Hospital>
</Area>
</Areas>
</xml>
那是不可能的
你把你的XML以及代码拿出来我贴的XML以及代码已经测试成功了~~~~
{
XmlDocument hosXml = new XmlDocument();
hosXml.Load("hospital.xml");这里出错!
XmlElement root = hosXml.DocumentElement;
XmlNodeList listArea = root.SelectNodes("/Area/@Name");
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}你看看错误描述是什么?(2),你的XML在debug下,你看看环境是否设为了Release.
我试了一下,加上之后就可以通过iE打开了。
如下<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<Areas>
<Area Name="北京">
<Hospital>天坛医院 </Hospital>
<Hospital>北京三院 </Hospital>
<Hospital>积水潭医院 </Hospital>
</Area>
<Area Name="广州">
<Hospital>中山医院 </Hospital>
<Hospital>中山二院 </Hospital>
<Hospital>中山三院 </Hospital>
</Area>
</Areas>