powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / теряеться прифекс у аттрибутов ....
3 сообщений из 3, страница 1 из 1
теряеться прифекс у аттрибутов ....
    #34950712
Чешков Антон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть документ xml
пытаюсь клонировать тег типа

<row ss:style="hello">
...
</row>

но при вставке теряються префиксы ss у атрибутов ((
...
Рейтинг: 0 / 0
теряеться прифекс у аттрибутов ....
    #34950720
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Радуйся что вообще работает.
покаж чего делаешь. (xsl)
В теории вообще запрещено создавать атрибуты с префиксом. Тут надо извернутся чтоб они появились.
Ждемс код
...
Рейтинг: 0 / 0
теряеться прифекс у аттрибутов ....
    #34950823
Чешков Антон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишеться это дело на php 5.2.3

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 $dom  = new DOMDocument('1.0','utf-8');
               

                
                $dom->preserveWhiteSpace = true;
                $dom->load('./application/public/reports_template/serial_avia.xml');
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns','urn:schemas-microsoft-com:office:spreadsheet'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:ss','urn:schemas-microsoft-com:office:spreadsheet'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:o','urn:schemas-microsoft-com:office:office'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:x','urn:schemas-microsoft-com:office:excel'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:html','http://www.w3.org/TR/REC-html40'));
                $xpath = new DOMXPath($dom);
                $xpath->registerNamespace('xlmns','urn:schemas-microsoft-com:office:spreadsheet');
                $row = $xpath->query("//xlmns:Row[@table='TKP']");
                                 
                $parent = $row->item( 0 )->parentNode;
                $clone  = $row->item( 0 )->cloneNode(true);
                $dom->importNode($clone,true);
                $parent->insertBefore($clone,$row->item( 0 ));


                echo $dom->saveXML();

вот начало xml документа который подгружаю , немного свернул его для уменьшения

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<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">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Author>Microsoft Corporation</Author>
  <LastAuthor>Antonio</LastAuthor>
  <LastPrinted> 2007 - 08 -03T05: 49 :10Z</LastPrinted>
  <Created> 1996 - 10 -08T23: 32 :33Z</Created>
  <LastSaved> 2007 - 11 -19T11: 40 :02Z</LastSaved>
  <Version> 11 . 5606 </Version>
 </DocumentProperties>

 <Worksheet ss:Name="ТКП">
  <Table ss:ExpandedColumnCount="19" ss:ExpandedRowCount="40" x:FullColumns="1"
   x:FullRows="1">
   <Column ss:AutoFitWidth="0" ss:Width="20.25"/>
   <Column ss:AutoFitWidth="0" ss:Width="28.5"/>
   <Column ss:AutoFitWidth="0" ss:Width="20.25"/>
   <Column ss:AutoFitWidth="0" ss:Width="75.75"/>
   <Column ss:AutoFitWidth="0" ss:Width="57"/>
   <Column ss:AutoFitWidth="0" ss:Width="79.5"/>
   <Row ss:Height="12" ss:StyleID="s50">
    <Cell ss:StyleID="s55"/>
    <Cell ss:StyleID="s55"/>
    <Cell ss:StyleID="s55"/>
    <Cell ss:StyleID="s56"/>
    <Cell ss:StyleID="s56"><Data ss:Type="String">                  Реестр</Data></Cell>
    <Cell ss:StyleID="s56"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
   </Row>
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / теряеться прифекс у аттрибутов ....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]