您好我使用XmlTextReader读取iPhone配置实用程序3.6生成的策略文件 当读者到达doctype元素时,它会挂起大约15-20秒。这对我来说是个大问题,因为我需要一次读取60个文件,并且每次读取文件3次。以下是我的一些代码和一个可用于重复此问题的示例文件。
private int findStart(String d)
{
Boolean StartLooking = false;
using (XmlTextReader xr = new XmlTextReader(d))
{
while (xr.Read())
{
if (xr.NodeType.Equals(XmlNodeType.Element) && xr.Name.Equals("dict") && !StartLooking)
StartLooking = true;
else if (xr.NodeType.Equals(XmlNodeType.Element) && xr.Name.Equals("dict") && StartLooking)
return xr.LineNumber;
}
xr.Close();
}
return -1;
}
XML文件: AdvancedPayload.mobileconfig (Dropboxlink)
如果你知道为什么会发生这种挂断,请回复。感谢
答案 0 :(得分:0)
DOCTYPE是什么样的?在我看来,doctype有一个外部DTD的引用,你的应用程序实际上是从网上下载外部DTD。可以吗? Xml(或你)是否需要DTD?如果你不需要,你可以关闭DTD处理。
答案 1 :(得分:0)
使用XmlTextReader.DtdProcessing=DtdProcessing.Ignore;