![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Hjälp xml
Gruppen,
Kod:
$ cat 2233
12236 ID2
12239 ID3
Please guide me to construct the following XML from the above input.
<Comp>
<main>
<hlp fS="12236" eS="12237">
<std no="2233" />
<id="ID2"/>
</hlp>
<hlp fS="12239" eS="12240">
<std no="2233" />
<id="ID3"/>
</hlp>
</main>
</Comp>
** eS is +1 of fS value
** std no is the file name
|
|
||||
|
Vad har du provat, vilka delar som du har problem med? Har du en förkärlek för en viss tillämpning språk?
(Är det inte lite moronic ha en fältvärde som alltid är ett annat område värde plus ett?) |
|
||||
|
perl
hej prova nedan perl script
säger skriptet heter a.pl nedan kommando kan ta itu med ditt problem. Citat:
Kod:
format STDOUT_TOP =
<Comp>
<main>
.
format STDOUT =
<hlp fs="@<<<<" es="@<<<<">
$text1 $text2
<std no="@<<<"/>
$text3
<id="@<<"/>
$text4
</hlp>
.
$file=shift;
open(FH,"<$file") or die "Can not open file";
while(<FH>){
@arr=split(" ",$_);
$text1=$arr[0];
$text2=$arr[0]+1;
$text3=$file;
$text4=$arr[1];
write;
}
print " </main>\n";
print "</Comp>\n";
close(FH);
|
|
||||
|
Tiden, tack för att svara. Jag försökte bara en post i indatafilen, ungefär så här
Kod:
....
FILE=$1
fS=$(awk '{print $1}' $FILE)
((eS=fS+1))
echo "<Comp>" >> myxml
...
...
|
![]() |
| Komihåglista |
| Taggar |
| perl, perl skift, växla, skift perl |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|