0
我有類似格式使用'位置()`提取特定元素
<!-- mydata.xml -->
<alldata>
<data id="first">
<coord><x>0</x><y>5</y></coord>
<coord><x>1</x><y>4</y></coord>
<coord><x>2</x><y>3</y></coord>
</data>
<data id="second">
<coord><x>0</x><y>2</y></coord>
<coord><x>1</x><y>1</y></coord>
<coord><x>2</x><y>0</y></coord>
</data>
</alldata>
由於x
值是我在XML的文件中的所有數據集相同的數據文件,我想提取數據到CSV格式類似
x;first y;second y
0;5;2
1;4;1
2;3;0
天真,我試圖在第一<data>
匹配元素<coord>
和使用position()
提取從下一<coord>
的正確<y>
在<data>
元件與第二id
屬性:
xml sel -T -t -m "/alldata/data[@id='first']/coord" -v "concat(x,';',y,';',../../data[@id='second']/coord[position()]/y,';',position())" -n mydata.xml
此輸出從在輸出所有行的第一<coord>
的<y>
即使position()
中的每一行被遞增:
0;5;2;1
1;4;2;2
2;3;2;3
我怎樣才能實現我打算怎麼做?
非常感謝。這正是我正在尋找的東西,並沒有弄清楚我自己。 –