У меня есть этот xml-файл (имя файла: myFile.xml) с данными пользователя:
<?xml version="1.0" encoding="utf-8"?>
<params>
<username>jDoe</username>
<password>abc123</password>
<firstname>John</firstname>
<lastname>Doe</lastname>
<email>jdoe@example.com</email>
<country>Germany</country>
</params>
Я могу открыть его в своем скрипте bash и использовать цикл for для итерации его содержимого:
for i in $(xmlstarlet select -t -v '/params/*' myFile.xml)
do
echo $i
done
Когда я запускаю его, я получаю:
jDoe
abc123
John
Doe
jdoe@example.com
Germany
Как я могу связать каждое значение с его относительным именем и создать переменную сценария bash, подобную этой:
username="jDoe"
password="abc123"
firstname="John"
lastname="Doe"
email="jdoe@example.com"
country="Germany"
Другими словами, для каждого тега я хочу прочитать его имя и его значение, а затем создать переменную bash из этого. то есть:
tagname="value"
Я предпочитаю проходить по тегам, потому что они намного больше, чем в этом примере, и не всегда одинаковы.
Есть предложения?