Re: SelectSingleNode возвращает null
От: Аноним  
Дата: 22.11.04 07:11
Оценка: 2 (1)
Здравствуйте, tripolox, Вы писали:

T>
T>XmlDocument doc = new XmlDocument();
T>doc.Load(filename);            
T>XmlElement root = doc.DocumentElement;            
T>XmlNode worksheet = root.SelectSingleNode("/Workbook/Worksheet");
T>

T>После этого кода в worksheet null

T>Подскажите чего я не так делаю, т.к. root.ChildNodes содержит все элементы, которые должен содержать, проверял дебаггером.



T>Файл который загружаю:

T>
T>  <?xml version="1.0" ?> 
T>- <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
T>- <Worksheet ss:Name="1234.xls">
T>+ <Table ss:ExpandedColumnCount="11" ss:ExpandedRowCount="115" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="42" ss:DefaultRowHeight="11.25">
T>  <Column ss:AutoFitWidth="0" ss:Width="45.75" /> 
T>  <!--Тут еще дофига значений-->
T>  </Table>
T>+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
T>- <PageSetup>
T>  <PageMargins x:Bottom="0.984251969" x:Left="0.78740157499999996" x:Right="0.78740157499999996" x:Top="0.984251969" /> 
T>  </PageSetup>
T>  <Selected /> 
T>  <TopRowVisible>3</TopRowVisible> 
T>- <Panes>
T>- <Pane>
T>  <Number>3</Number> 
T>  <ActiveRow>11</ActiveRow> 
T>  <ActiveCol>6</ActiveCol> 
T>  </Pane>
T>  </Panes>
T>  <ProtectObjects>False</ProtectObjects> 
T>  <ProtectScenarios>False</ProtectScenarios> 
T>  </WorksheetOptions>
T>  </Worksheet>
T>  </Workbook>
T>


XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("def", "urn:schemas-microsoft-com:office:spreadsheet");
XmlNode root=doc.DocumentElement;
XmlNode worksheet = root.SelectSingleNode("/def:Workbook/def:Worksheet", nsmgr);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.