2016-12-08 8 views
0

Какое выражение XPath необходимо использовать для команды xml starlet select, чтобы получить все узлы XML в файле с именем X?XML-звездочка для выбора всех узлов с именем X

EDIT:

Используя этот XML

<Parent> 
    <Children> 

     <Child> 
      <Size width="100" height="100"/> 
     </Child> 

     <Child> 
      <Size width="200" height="200"/> 
     </Child> 

    </Children> 
</Parent> 

Когда я запускать эту команду ничего выводится на консоль. Я бегу версии 1.6.1

C: [path_to_xml]> XML Сель -t -v "// Размер" test.xml

C: [path_to_xml]>

+0

В http://stackoverflow.com/questions/15077462/xpath-to-select-all-elements-with-a-specified-name подразумевается, что 'node.SelectNodes (" // X ");' будет работать, но я не знаю, как прокормить что-то вроде этого. –

ответ

0

Эта команда XMLStarlet,

xmlstarlet sel -t -v "//X" test.xml 

вернет все элементы с именем X в test.xml.

Обратите внимание, что в предыдущих версиях xmlstarlet (например, v1.0.1) возникли проблемы с возвратом нескольких значений. См. xmlstarlet XPath expression selects single result rather than multiple.

+0

Это просто выводит, как 20 пустых строк на консоль в моей системе Windows. – ScottF

+0

Добавьте [mcve] к вашему вопросу, который включает минимальный XML-файл и версию xmlstarlet, которую вы используете. Благодарю. – kjhughes