2016-10-05 4 views
0

дал docuent a.xml:Почему этот xpath не работает?

<?xml version="1.0"?> 
<xml> 
    <listUsersResponse xmlns="http://www.algorithmics.com/schema"> 
    <status>OK</status> 
    <users size="615"> 
     <user> 
     <id>user1</id> 
     <name>Joe Doe</name> 
     <attributes size="0"/> 
     <status>ACTIVE</status> 
     <roleId>CREDIT_SUPPORT</roleId> 
     <password>454E454A77484D3566717547686858726842503755513D3D</password> 
     <timeout>0</timeout> 
     </user> 
     <user> 
     <id>user2</id> 
     <name>Tom Smith</name> 
     <attributes size="0"/> 
     <status>ACTIVE</status> 
     <roleId>RISK_MANAGEMENT</roleId> 
     <password>627678416458513567624E37384C314E626C30672B773D3D</password> 
     <timeout>0</timeout> 
     </user> 
    </users> 
    </listUsersResponse> 
</xml> 

Я хочу, чтобы извлечь XML из <user> узла, который имеет идентификатор элемента со значением «user1».

@skovorodkin: спасибо за отзыв. теперь я получаю узел. но он не показывает полное содержимое узла:

$ xmllint --shell a.xml <<EOF 
...setns x=http://www.algorithmics.com/schema 
...xpath //x:users/x:user[x:id="user1"] 
...EOF 
/>/> Object is a Node Set : 
Set contains 1 nodes: 
1 ELEMENT user 

Я ожидаю:

<user> 
     <id>user1</id> 
     <name>Joe Doe</name> 
     <attributes size="0"/> 
     <status>ACTIVE</status> 
     <roleId>CREDIT_SUPPORT</roleId> 
     <password>454E454A77484D3566717547686858726842503755513D3D</password> 
     <timeout>0</timeout> 
</user> 
+1

Ваш XML имеет пространство имен, поэтому вам нужно настроить свой запрос. Проверьте этот ответ, например: http://stackoverflow.com/a/8266075/847552 – skovorodkin

+0

Спасибо. Я обновил свой пост. можно ли отобразить полное содержание результата? – AlexL

+1

Не забудьте поднять ответ на другой вопрос, если это поможет. ;-) –

ответ

1

XPath работает правильно и выбрать элемент, который вы ищете. У вас есть проблема с отображением узла, найденного выражением XPath. Это будет зависеть от приложения или инструмента, который вы используете для обработки результатов XPath, а не от самого XPath.

Смежные вопросы