Моя запись в XML-файле:
<GlobalView xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <rels> <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/> </rels>
идентификатор атрибута запроса хочу внутри элемента отношения .... Я использую приведенный ниже запрос, и он работает до элемента Relationship и не дает мне значения атрибута Id.
for $file in doc("C:/Users/Raffay/Desktop/RnDxr.xml") return $file/GlobalView/child::rels/child::Relationship
Заранее благодарен
Используйте
declare default element namespace "http://schemas.openxmlformats.org/package/2006/relationships"; let $vIds := for $file in doc("C:/Users/Raffay/Desktop/RnDxr.xml") return $file/GlobalView/rels/Relationship/@Id
Есть две видимые проблемы с предоставленным исходным кодом :
XML-документ, содержащийся в $file, имеет пространство имен по умолчанию . Без объявления пространства имен элемента по умолчанию все нефиксированные имена в выражении считаются принадлежащими "пространству имен" и ни один узел не будет выбран.
$file
Выражение имеет целью выбрать элемент Relationship , но атрибут Id этого элемента - это то, что действительно нужно.
Relationship
Id
Попробуйте
GlobalView/child::rels/child::Relationship/@Id
или сокращенно
GlobalView/rels/Relationship/@Id