Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 помогите разобрать XML  [new]
Alex-65
Member

Откуда:
Сообщений: 28
Уважаемые коллеги,
пишу первый раз, поэтому, если что-то не так оформил, то прошу поправить :)

есть вот такой скрипт:
+
declare @hDoc AS INT
declare @cXml XML
select @cXml = '
<ns2:fcsNotificationOK xmlns:ns2="http://zakupki.gov.ru/oos/export/1" schemeVersion="1.0">
  <id xmlns="http://zakupki.gov.ru/oos/types/1">32494</id>
  <purchaseNumber xmlns="http://zakupki.gov.ru/oos/types/1">0473000014614000001</purchaseNumber>
  <docPublishDate xmlns="http://zakupki.gov.ru/oos/types/1">2014-01-27T17:31:28.308 04:00</docPublishDate>
  <href xmlns="http://zakupki.gov.ru/oos/types/1">http://zakupki.gov.ru/epz/order/notice/ok44/view/common-info.html?noticeId=32494</href>
  <printForm xmlns="http://zakupki.gov.ru/oos/types/1">
    <url>http://zakupki.gov.ru/epz/order/notice/printForm/view.html?noticeId=32494</url>
  </printForm>
  <purchaseObjectInfo xmlns="http://zakupki.gov.ru/oos/types/1">Право заключения договора на оказание услуг по аудиту годовой бухгалтерской (финансовой) отчетности Закрытого акционерного общества «Промышленно-торговая компания «Калошино» за  2013, 2014, 2015 годы

</purchaseObjectInfo>
  <purchaseResponsible xmlns="http://zakupki.gov.ru/oos/types/1">
    <responsibleOrg>
      <regNum>04730000146</regNum>
      <fullName>Закрытое акционерное общество "Промышленно-торговая компания "Калошино"</fullName>
      <postAddress>Российская Федерация, 105122, Москва, Амурская ул., 22, -</postAddress>
      <factAddress>Российская Федерация, 105122, Москва, Амурская ул., 22, -</factAddress>
      <INN>7718014316</INN>
      <KPP>771801001</KPP>
    </responsibleOrg>
    <responsibleRole>CU</responsibleRole>
    <responsibleInfo>
      <orgPostAddress>Российская Федерация, 105122, Москва, Амурская ул., 22, -</orgPostAddress>
      <orgFactAddress>Российская Федерация, 105122, Москва, Амурская ул., 22, -</orgFactAddress>
      <contactPerson>
        <lastName>Юрисконсульт</lastName>
        <firstName>Юридический отдел</firstName>
        <middleName>Хлудова Светлана Александровна</middleName>
      </contactPerson>
      <contactEMail>svh@front.ru</contactEMail>
      <contactPhone>7-964-6262744</contactPhone>
    </responsibleInfo>
  </purchaseResponsible>
  <placingWay xmlns="http://zakupki.gov.ru/oos/types/1">
    <code>OK44</code>
    <name>Открытый конкурс</name>
  </placingWay>
  <purchaseDocumentation xmlns="http://zakupki.gov.ru/oos/types/1">
    <grantStartDate>2014-01-28T08:30:00+04:00</grantStartDate>
    <grantPlace>105122,  г. Москва, ул. Амурская,  дом 22. </grantPlace>
    <grantOrder>Конкурсная документация предоставляется со дня опубликования в Официальном печатном издании или размещения на Официальном сайте извещения о проведении Конкурса по 10:00 (по московскому времени) 17 февраля 2014 г.</grantOrder>
    <languages>Русский</languages>
    <grantMeans>Конкурсная документация предоставляется со дня опубликования в Официальном печатном издании или размещения на Официальном сайте извещения о проведении Конкурса по 10:00 (по московскому времени) 17 февраля 2014 г.</grantMeans>
    <grantEndDate>2014-02-17T10:00:00+04:00</grantEndDate>
    <payCurrency>
      <code>RUB</code>
      <name>Российский рубль</name>
    </payCurrency>
    <payInfo>
      <amount>0</amount>
      <procedureInfo>Не требуется</procedureInfo>
      <settlementAccount>40702810000000000357</settlementAccount>
      <bik>044599399</bik>
    </payInfo>
  </purchaseDocumentation>
  <procedureInfo xmlns="http://zakupki.gov.ru/oos/types/1">
    <collecting>
      <startDate>2014-01-28T08:30:00+04:00</startDate>
      <place>105122, г. Москва, ул. Амурская, д.22 А</place>
      <order>Порядок подачи Заявок на участие в Конкурсе описан в подразделе 5 части II «ОБЩИЕ УСЛОВИЯ ПРОВЕДЕНИЯ КОНКУРСА».</order>
      <endDate>2014-02-17T10:00:00+04:00</endDate>
    </collecting>
    <opening>
      <date>2014-02-17T10:00:00+04:00</date>
      <place>105122, г. Москва, ул. Амурская, д.22 А</place>
    </opening>
    <scoring>
      <date>2014-02-19T10:00:00+04:00</date>
      <place>105122, г. Москва, ул. Амурская, д.22 А</place>
    </scoring>
  </procedureInfo>
  <lots xmlns="http://zakupki.gov.ru/oos/types/1">
    <lot>
      <lotNumber>1</lotNumber>
      <lotObjectInfo>Право заключения договора на оказание услуг по аудиту годовой бухгалтерской (финансовой) отчетности Закрытого акционерного общества «Промышленно-торговая компания «Калошино» за  2013, 2014, 2015 годы

</lotObjectInfo>
      <maxPrice>1260000</maxPrice>
      <currency>
        <code>RUB</code>
        <name>Российский рубль</name>
      </currency>
      <financeSource>Собственные средства заказчика</financeSource>
      <quantityUndefined>false</quantityUndefined>
      <customerRequirements>
        <customerRequirement>
          <customer>
            <regNum>04730000146</regNum>
            <fullName>Закрытое акционерное общество "Промышленно-торговая компания "Калошино"</fullName>
          </customer>
          <maxPrice>1260000</maxPrice>
          <deliveryPlace>105122, г. Москва, ул. Амурская, д.22 А</deliveryPlace>
          <deliveryTerm>Периоды проверки и срок оказания услуг:
за 2013 год (проверка осуществляется в один этап):
Дата начала проверки:  25 апреля 2014 г.
Минимальный срок оказания услуг:
6 рабочих днейс даты начала проверки.
Максимальный срок оказания услуг:
15 рабочих днейс даты начала проверки.

за 2014 год (проверка осуществляется в один этап):
Дата начала проверки:  20 апреля 2015 г.
Минимальный срок оказания услуг:
6 рабочих днейс даты начала проверки.
Максимальный срок оказания услуг:
15 рабочих днейс даты начала проверки.

за 2015 год (проверка осуществляется в один этап):
Дата начала проверки:  20 апреля 2016 г.
Минимальный срок оказания услуг:
6 рабочих днейс даты начала проверки.
Максимальный срок оказания услуг:
15 рабочих днейс даты начала проверки.
</deliveryTerm>
          <applicationGuarantee>
            <amount>63000</amount>
            <part>5.0</part>
            <procedureInfo>Обеспечение заявки на участие в конкурсе предоставляется участником закупки путем внесения денежных средств на расчетный счет ЗАО «ПТК «Калошино».
</procedureInfo>
            <settlementAccount>40702810000000000357</settlementAccount>
            <bik>044599399</bik>
          </applicationGuarantee>
          <contractGuarantee>
            <amount>252000</amount>
            <part>20.0</part>
            <procedureInfo>Обеспечение исполнения контракта предоставляется участником закупки путем внесения денежных средств на расчетный счет ЗАО «ПТК «Калошино».</procedureInfo>
            <settlementAccount>40702810000000000357</settlementAccount>
            <bik>044599399</bik>
          </contractGuarantee>
        </customerRequirement>
      </customerRequirements>
      <purchaseObjects>
        <purchaseObject>
          <OKPD>
            <code>74.12.12.000</code>
            <name>Услуги по проверке бухгалтерской отчетности</name>
          </OKPD>
          <name>Оказание услуг по аудиту годовой бухгалтерской (финансовой) отчетности Закрытого акционерного общества «Промышленно-торговая компания «Калошино» за  2013, 2014, 2015 годы
</name>
          <OKEI>
            <code>796</code>
            <nationalCode>ШТ</nationalCode>
          </OKEI>
          <price>1260000</price>
          <quantity>
            <value>1.0</value>
          </quantity>
          <sum>1260000</sum>
        </purchaseObject>
        <totalSum>1260000</totalSum>
      </purchaseObjects>
      <requirements>
        <requirement>
          <code>8361040</code>
          <name>Единые требования к участникам (в соответствии  с частью 1 Статьи 31 Федерального закона № 44-ФЗ)</name>
        </requirement>
      </requirements>
      <restrictInfo>Отсутствуют</restrictInfo>
    </lot>
  </lots>
  <attachments xmlns="http://zakupki.gov.ru/oos/types/1">
    <attachment>
      <publishedContentId>F0F45EBB3A2C00F0E043AC1107253709</publishedContentId>
      <fileName>КД Калошина 2013 испр.docx</fileName>
      <docDescription>КД Калошина 2013 испр</docDescription>
      <url>http://zakupki.gov.ru/44fz/filestore/public/1.0/download/priz/file.html?uid=F0F45EBB3A2C00F0E043AC1107253709</url>
    </attachment>
  </attachments>
  <modification xmlns="http://zakupki.gov.ru/oos/types/1">
    <modificationNumber>2</modificationNumber>
    <info>1) Изменение в сроки оценки заявок (19.02.2014)
2) Обеспечение заявки 5 %
3) Обеспечение исполнения контракта 20%
4) Приведение конкурсной документации в соответствие с ФЗ № 44</info>
    <reason>
      <responsibleDecision>
        <decisionDate>2014-01-27T00:00:00+04:00</decisionDate>
      </responsibleDecision>
    </reason>
  </modification>
</ns2:fcsNotificationOK>
'
DECLARE @id1 nvarchar(max)
DECLARE @id2  datetime --nvarchar(max)

--(a)здесь есть Значение
SET @id1 =  @cXml.value('declare namespace ns2="http://zakupki.gov.ru/oos/export/1";(//ns2:fcsNotificationOK/*)[1]', 'varchar(max)' )
SELECT @id1 as id1
--(b) а Здесь - НЕТУ
SET @id1 =  @cXml.value('declare namespace ns2="http://zakupki.gov.ru/oos/export/1";(//ns2:fcsNotificationOK/id)[1]', 'nvarchar(max)' )
SELECT @id1 as id1
--(c)
SET @id2 =  @cXml.value('declare namespace ns2="http://zakupki.gov.ru/oos/export/1";(//ns2:fcsNotificationOK/*)[3]', 'datetime') --'nvarchar(max)' )
SELECT @id2 as id2


как правильно написать, чтобы в случае (b) выбиралось-таки значение с указанием (//ns2:fcsNotificationOK/id)[1]?
ведь в случае (a) - оно выбирается
заранее спасибо
Модератор: Используйте тег "src" для оформления кода, а тег "spoiler" - для оформления портянок.


Сообщение было отредактировано: 29 мар 15, 20:15
29 мар 15, 20:12    [17447405]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобрать XML  [new]
invm
Member

Откуда: Москва
Сообщений: 9404
SET @id1 =  @cXml.value('declare namespace ns2="http://zakupki.gov.ru/oos/export/1"; declare namespace ns3="http://zakupki.gov.ru/oos/types/1";(//ns2:fcsNotificationOK/ns3:id)[1]', 'nvarchar(max)' )
29 мар 15, 21:12    [17447490]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобрать XML  [new]
Alex-65
Member

Откуда:
Сообщений: 28
invm, спасибо!
буду дальше копать :)
29 мар 15, 21:27    [17447510]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобрать XML  [new]
Alex-65
Member

Откуда:
Сообщений: 28
invm,
а можно как-нибудь от nameSpace'ов избавиться?
29 мар 15, 21:30    [17447516]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобрать XML  [new]
invm
Member

Откуда: Москва
Сообщений: 9404
Alex-65
а можно как-нибудь от nameSpace'ов избавиться?
with xmlnamespaces(default 'http://zakupki.gov.ru/oos/export/1', 'http://zakupki.gov.ru/oos/types/1' as ns3)
select
 @cXml.value('(//fcsNotificationOK/*)[1]', 'varchar(max)' ),
 @cXml.value('(//fcsNotificationOK/ns3:id)[1]', 'nvarchar(max)' );
29 мар 15, 21:48    [17447550]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобрать XML  [new]
Alex-65
Member

Откуда:
Сообщений: 28
invm, спасибо еще раз! :о)

но я имел ввиду - в самом XML'е как-то удалить
xmlns:ns2="http://zakupki.gov.ru/oos/export/1 и xmlns="http://zakupki.gov.ru/oos/types/1, и соответствующие префиксы ns2?
29 мар 15, 22:03    [17447596]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить