3 回答

TA貢獻1865條經驗 獲得超7個贊
Mads Hansen的解決方案很好,但是要成功讀取.NET 4中的外部文件,需要花費一些時間來弄清楚使用有關解析程序,ProhibitDTD等的注釋中的提示。
這是這樣做的:
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
settings.XmlResolver = resolver;
var reader = XmlReader.Create("logfile.xml", settings);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
foreach (XmlElement element in doc.SelectNodes("//event"))
{
var ch = element.ChildNodes;
var count = ch.Count;
}
logfile.xml:
<?xml version="1.0"?>
<!DOCTYPE logfile [
<!ENTITY events
SYSTEM "events.txt">
]>
<logfile>
&events;
</logfile>
events.txt:
<event>
<item1>item1</item1>
<item2>item2</item2>
</event>
- 3 回答
- 0 關注
- 721 瀏覽
相關問題推薦
添加回答
舉報