Импорт XML в SQL Server

На самом деле это довольно просто сделать. Я не знаю, хотите ли вы этого в javascript, но я фанат делать это с помощью css:

    polygon:hover{
animation: animation 2s linear;
}

, тогда вам нужно создать ключевой кадр для анимации многоугольника.

@keyframes animation{
  from{
    transform: rotate(0deg);
  }
  to{
    transform: rotate(10deg);   
  }
}

все, что вам нужно сделать сейчас, это дать каждому полигону свой идентификатор и анимировать его с помощью разных ключевых кадров. То, что я показал выше, это просто пример того, как работает анимация, так что вам решать, что именно вы хотите с ним делать.

Если у вас есть другие вопросы, не стесняйтесь задавать!

6
задан gbn 13 May 2010 в 06:13
поделиться

2 ответа

xml должен быть "" не 'внутренне, нет?

Так или иначе можно проанализировать тип данных XML исходно. sp_xml_preparedocument откровенно опасен из-за издержек использования памяти.

DECLARE @foo XML;

SET @foo = N'<?xml version="1.0"?>
<rows>
    <row id="1">
        <cell id="category">Simple</cell>
        <cell id="query">summary</cell>
        <cell id="clientsfound">6</cell>
        <cell id="eligibleclients">11</cell>
        <cell id="percentage">55</cell>
        <cell id="days">0</cell>
    </row>
    <row id="2">
        <cell id="category">Complex</cell>
        <cell id="query">details</cell>
        <cell id="clientsfound">4</cell>
        <cell id="eligibleclients">6</cell>
        <cell id="percentage">67</cell>
        <cell id="days">5</cell>
    </row>
</rows>';

SELECT
    x.item.value('@id', 'int') AS RowID,
    y.item.value('(./cell[@id="category"])[1]', 'nchar(10)') AS category,
    y.item.value('(./cell[@id="query"])[1]', 'nchar(10)') AS query,
    y.item.value('(./cell[@id="clientsfound"])[1]', 'int') AS clientsfound,
    y.item.value('(./cell[@id="eligibleclients"])[1]', 'int') AS eligibleclients,
    y.item.value('(./cell[@id="percentage"])[1]', 'int') AS percentage,
    y.item.value('(./cell[@id="days"])[1]', 'int') AS days
FROM
    @foo.nodes('/rows/row') x(item)
    CROSS APPLY
    x.item.nodes('.') AS y(item)
9
ответ дан 10 December 2019 в 00:44
поделиться

Можно сделать это с помощью OPENXML и XQUERY.

DECLARE @XMLdoc XML
DECLARE @idoc int
SELECT @XMLdoc = '<?xml version="1.0"?>
  <rows>
    <row id="1">
        <cell id="category">Simple</cell>
        <cell id="query">summary</cell>
        <cell id="clientsfound">6</cell>
        <cell id="eligibleclients">11</cell>
        <cell id="percentage">55</cell>
        <cell id="days">0</cell>
    </row>
    <row id="2">
        <cell id="category">Complex</cell>
        <cell id="query">details</cell>
        <cell id="clientsfound">4</cell>
        <cell id="eligibleclients">6</cell>
        <cell id="percentage">67</cell>
        <cell id="days">5</cell>
    </row>
  </rows>'


-- Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @XMLDoc

INSERT INTO QueryResults (RowID,Category,Query,ClientsFound,EligibleClients,Percentage,Days)
SELECT  id,
        overflow.value('(/row/cell[@id="category"])[1]', 'nchar(10)'),
        overflow.value('(/row/cell[@id="query"])[1]', 'nchar(10)'),
        overflow.value('(/row/cell[@id="clientsfound"])[1]', 'int'),
        overflow.value('(/row/cell[@id="eligibleclients"])[1]', 'int'),
        overflow.value('(/row/cell[@id="percentage"])[1]', 'int'),
        overflow.value('(/row/cell[@id="days"])[1]', 'int')
FROM OPENXML (@idoc, '/rows/row',10)
WITH (id int '@id',
    overflow xml '@mp:xmltext' --the row xml node
)

-- Release resources allocated for the XML document.
EXEC sp_xml_removedocument @idoc

SELECT * FROM QueryResults

Результаты:

UserString  ImportStamp        RowID  Category  Query    ClientsFound EligibleClients Percentage  Days
----------- ------------------ ------ --------- -------- ------------ --------------- ----------- ----
NULL        0x000000000000C1CA 1      Simple    summary  6            11              55          0
NULL        0x000000000000C1CB 2      Complex   details  4            6               67          5

Я не уверен, что Вы хотите заполненный в 'UserString', но можно уладить это позже.

Надежда это предоставляет подходящее решение Вашего вопроса.

- Жаль gbn, Вы, вероятно, правы относительно sp_xml_preparedocument. Я просто проявил этот подход от некоторых подобных, сохранил procs, который мы имели на проекте, мы продолжили работать с командой Microsoft SDC, так полагал, что это будет безопасно. Вы - подход, вероятно, инструмент для очистки так или иначе.

1
ответ дан 10 December 2019 в 00:44
поделиться