Синтаксический анализ XML с помощью сценария оболочки - PullRequest
0 голосов
/ 10 марта 2011

У меня проблемы при попытке получить некоторые данные из текстового поля тега xml.

Это поле много раз повторяется в xml.

<abc>
<def>
<gh tag="ext" text="1. look
2. for 
3. this 
4. if
5. what">
</gh>
</def>
</abc>

Что я сделал, так это сгенерировал шаблон и зациклился до достижения ">. Но я также получаю некоторые другие данные. Может кто-нибудь, пожалуйста, помогите мне с этим или покажите мне направление. Я пробовал Perl, но библиотека XML отсутствовала.

Ответы [ 4 ]

3 голосов
/ 10 марта 2011

Пожалуйста, используйте правильный инструмент .

$ xmlstarlet sel -t -m abc/def/gh -v @text input.xml
1. look 2. for 3. this 4. if 5. what
1 голос
/ 11 марта 2011

sgrep - Структурированный Grep - используется при поиске и индексации XML, HTML.

http://www.cs.helsinki.fi/u/jjaakkol/sgrepexamples.html

1 голос
/ 10 марта 2011

Возможно, вы сможете адаптировать найденный скрипт AWK здесь .

0 голосов
/ 14 декабря 2011

Быстрое и грязное решение -

awk '/text="/,/">/{print}' xmlfile | sed -e 's/^\(<gh.*="\)//' -e 's/">$//'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...