<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
......
</hibernate-configuration>
这样一个带DOCTYPE的xml,怎么加载到 xmldocument
我这样写不行。
public static XmlDocument LoadXML(string strXmlFile)
{
XmlDocument xmlDocument = new XmlDocument();
try
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = false; //忽略注释
settings.DtdProcessing = DtdProcessing.Parse; //分析DTD
XmlReader reader = XmlReader.Create(strXmlFile, settings);
xmlDocument.Load(reader);
reader.Close();
}
catch{ }
return xmlDocument;
}
或者把上面2句带注释的去掉也不行。 求解决方法
你有保存吗 需要调用config.Save();
如果你是修改的是config的值记得刷新节点,不然在下次程序启动之前还是原来的值
System.Configuration.ConfigurationManager.RefreshSection("节点名");
都不等保存,xmldocument.load()的时候就报错了
带DOCTYPE的Xml是可以用XmlDocument去load的,出错的原因应该是其他问题。
你可以找个hibernate的xml试试就知道了 。就是DOCTYPE的问题,我试过多次了
加个这玩意儿试试
settings.ProhibitDtd = false;