未处理的类型' System.AccessViolationException'尝试加载xml时发生在System.Xml.dll中

时间:2016-11-28 18:58:48

标签: c# xml

我只是尝试加载XML文件并不断收到此错误:

未处理的类型' System.AccessViolationException'发生在System.Xml.dll

附加信息:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

这是我的代码......非常简单

            string thirdParty = @"\3rdParty\";
            string path = @"C:\code\depot\LALA\LALA";
            string pathToXML = @"C:\code\";
            List<string> thirdPartyPaths = new List<string>();
            string[] xmlPaths = Directory.GetFiles(pathToXML, "*.xml", SearchOption.AllDirectories);
            foreach (string element in xmlPaths)
            {
                if (element.Contains("input.xml"))
                {
                    pathToXML = element;
                }
            }

            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(pathToXML);

input.xml中

<?xml version="1.0" encoding="Windows-1252"?>
<ism_node>
   <product name="SomeName">
      <td>Client.ism</td>
      <td>Server64.ism</td>
      <td>Database.ism</td>
      <td>AdminConsole.ism</td>
   </product>
   <product name="Backward Compatibilty Pack">
      <td>ClientLibraryUpdate.ism</td>
   </product>   
   <product name="Mobile SDK">
      <td>MobileSDK.Installer.ism</td>
   </product>
   <product name="Snap">
      <td>AdminConsole.Installer.ism</td>
      <td>Client.Installer.ism</td>
   </product>
</ism_node>
<module_node>
    <module name="Standard Export">
        <project>Stdexp.csproj</project>
    </module>
    <module name="">
        <project></project>
    </module>
</module_node>

经过调试后,我确认在尝试加载时我肯定会引用完整的XML路径。我不知道如何解决这个问题,并且已经花了好几个小时才找到了什么!

1 个答案:

答案 0 :(得分:0)

事实证明我需要XML文档的根节点。我有多个根节点,并抛出此错误。我的新xml文档如下所示:

<li ng-click="toggleNetwork(isChecked)">
   <i>{{isChecked ? 'check_box' : 'check_box_outline_blank'}}</i>
</li>