Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Получение узла XML


Автор: m9yt 9.7.2013, 11:39
День добрый.
Имеется следующий XML:
Код

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
    <ReportItems>
      <Tablix Name="Tablix1">
        <...>
        <Top>2.5in</Top>
        <Left>0.4in</Left>
        <Height>0.5in</Height>
        <Width>2in</Width>
        <Style>
          <Border>
            <Style>Solid</Style>
          </Border>
        </Style>
      </Tablix>
      <Tablix Name="Tablix2">
        <...>
        <Top>3.5in</Top>
        <Left>0.4in</Left>
        <Height>0.5in</Height>
        <Width>2in</Width>
        <Style>
          <Border>
            <Style>Solid</Style>
          </Border>
        </Style>
      </Tablix>
    </ReportItems>
</Report>


Вопрос: как мне получить элемент Top в 1 табликсе? А как во 2? Вообще, как получать в XML у некоторого узла конкретный подэлемент, например, по тегу?
Пытался разобраться в функции XmlNode.SelectNodes, но не вышло.

Автор: jonie 9.7.2013, 21:30
изучите XPath запросы. В данном случае он будет какой-то такой:
Код

/Report/ReportItems/Tablix[@Name='Tablix1']/Top

вот его и впишите в SelectNodes()....

Автор: m9yt 19.7.2013, 10:49
Цитата(jonie @ 9.7.2013,  21:30)
изучите XPath запросы. В данном случае он будет какой-то такой:
Код

/Report/ReportItems/Tablix[@Name='Tablix1']/Top

вот его и впишите в SelectNodes()....

Что-то не работает такой пример. Можно какой-нибудь рабочий кусочек кода увидеть? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)