Я noob с xquery и я "тестирую" коды
Мне невозможно отфильтровать один XML в бетоне.
Я не уверен, но, похоже, проблема с первым TAG, который содержит атрибут и, возможно, я неправильно анализирую ...
Пример XML
<findToFileResponse xmlns="xmlapi_1.0">
<equipment.PhysicalPort>
<mtuValue>9728</mtuValue>
<userLabel>RIOXXXX</userLabel>
<displayedName>Port 1/1</displayedName>
<siteId>10.10.10.1</siteId>
<siteName>LO0015P1</siteName>
<children-Set>
<ethernetequipment.EthernetPortSpecifics>
<actualDuplex>fd1000</actualDuplex>
<children-Set></children-Set>
</ethernetequipment.EthernetPortSpecifics>
</children-Set>
</equipment.PhysicalPort>
<equipment.PhysicalPort>
<mtuValue>9728</mtuValue>
<userLabel>RIOXXXX</userLabel>
<displayedName>Port 1/2</displayedName>
<siteId>10.10.10.10</siteId>
<siteName>LO0015P1</siteName>
<children-Set>
<ethernetequipment.EthernetPortSpecifics>
<actualDuplex>fd1000</actualDuplex>
<children-Set></children-Set>
</ethernetequipment.EthernetPortSpecifics>
</children-Set>
</equipment.PhysicalPort>
</findToFileResponse>
Например, этот xquery (я тестирую, целью является соединение с другим xml с тем же первым TAG):
let $docu1 := doc("ListadoVanos.Mon_Jan_14_040000_CET_2019.xml")/findToFileResponse
return $docu1
Я ожидаю что-то вроде:
<equipment.PhysicalPort>
<mtuValue>9728</mtuValue>
<userLabel>RIOXXXX</userLabel>
<displayedName>Port 1/1</displayedName>
<siteId>10.10.10.1</siteId>
<siteName>LO0015P1</siteName>
<children-Set>
<ethernetequipment.EthernetPortSpecifics>
<actualDuplex>fd1000</actualDuplex>
<children-Set></children-Set>
</ethernetequipment.EthernetPortSpecifics>
</children-Set>
</equipment.PhysicalPort>
<equipment.PhysicalPort>
...
</equipment.PhysicalPort>
<equipment.PhysicalPort>
...
</equipment.PhysicalPort>
...
но ответьте на пустой результат
Есть идеи? Вы можете помочь мне построить этот первый фильтр?
Заранее спасибо
Я использую BaseX. Это информация для этого:
Compiling:
- pre-evaluate fn:doc(uri) to document-node() item: doc("ListadoVanos.Mon_Jan_14_040000_CET_... -> document-node {"ListadoVanos.Mon_Jan_14_...
- remove unknown element/attribute findToFileResponse
- pre-evaluate iter path to empty sequence: document-node {"ListadoVanos.Mon_Jan_14_... -> ()
- inline $docu1_0
- simplify FLWOR expression: ()
Optimized Query:
()
Query:
let $docu1 := doc("ListadoVanos.Mon_Jan_14_040000_CET_2019.xml")/findToFileResponse return $docu1
Result:
- Hit(s): 0 Items
- Updated: 0 Items
- Printed: 0 b
- Read Locking: ListadoVanos.Mon_Jan_14_040000_CET_2019.xml
- Write Locking: (none)
Timing:
- Parsing: 0.26 ms
- Compiling: 123.72 ms
- Evaluating: 0.17 ms
- Printing: 0.01 ms
- Total Time: 124.17 ms
Query plan:
<QueryPlan compiled="true" updating="false">
<Empty size="0" type="empty-sequence()"/>
</QueryPlan>