XML - Idea de como leer xml con etiquetas repetidas en mismo nivel (sin ser lista)

 
Vista:
sin imagen de perfil
Val: 1
Ha mantenido su posición en XML (en relación al último mes)
Gráfica de XML

Idea de como leer xml con etiquetas repetidas en mismo nivel (sin ser lista)

Publicado por JOAQUIN (1 intervención) el 23/12/2019 13:15:31
Muy buenas.

En el trabajo me han pedido la lectura de un xml para comunicar un sistema externo con nuestro programa. Leer el xml, hasta ahora, no había sido problema pero con este formato de xml me he quedado planchado.

Os pongo la forma que puede tener y haber que me decís. En principio creemos que está mal escrito pero la persona encargada de decirlo esta de vacaciones y hasta después de fin de año no nos dirá nada.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<sysalm>
	<ordenes>
		<orden>CÓDIGO PEDIDO 3</orden>
		<descripcion>DESCRIPCIÓN PEDIDO 3</descripcion>
		<tipo>P</tipo>
		<righe_sto>
		  <s_orden>CÓDIGO PEDIDO 3</s_orden>
		  <s_artic>ITEM05</s_artic>
		  <s_lote>LOTE EXTRAÍDO</s_lote>
		  <s_cantidad>CANTIDAD SOLICITADA</s_cantidad>
		  <s_cantidadv>CANTIDAD VALIDADA</s_cantidadv>
		  <s_caducidad>FECHA DE CADUCIDAD (FORMATO YYYY-MM-DD)</s_caducidad>
		  <s_inf />
		</righe_sto>
		<righe_sto>
		  <s_orden>CÓDIGO PEDIDO 3</s_orden>
		  <s_artic>ITEM06</s_artic>
		  <s_lote>LOTE EXTRAÍDO</s_lote>
		  <s_cantidad>CANTIDAD SOLICITADA</s_cantidad>
		  <s_cantidadv>CANTIDAD VALIDADA</s_cantidadv>
		  <s_caducidad>FECHA DE CADUCIDAD (FORMATO YYYY-MM-DD)</s_caducidad>
		  <s_inf />
		</righe_sto>
		<uds>
		  <UDS_UDS>NÚMERO DE CONTENEDOR INTERNO</UDS_UDS>
		  <UDS_ORDINE>CÓDIGO PEDIDO 3</UDS_ORDINE>
		  <UDS_ALTCOD>NÚMERO DE CONTENEDOR LEÍDO</UDS_ALTCOD>
		</uds>
		<uds>
		  <UDS_UDS>NÚMERO DE CONTENEDOR INTERNO</UDS_UDS>
		  <UDS_ORDINE>CÓDIGO PEDIDO 3</UDS_ORDINE>
		  <UDS_ALTCOD>NÚMERO DE CONTENEDOR LEÍDO</UDS_ALTCOD>
		</uds>
		<comparti>
		  <c_num>NÚMERO DE CONTENEDOR INTERNO</c_num>
		  <c_articulo>ITEM05</c_articulo>
		  <c_lote>LOTE EXTRAÍDO</c_lote>
		  <c_cantidad>CANTIDAD</c_cantidad>
		  <c_cad>FECHA DE CADUCIDAD (FORMATO YYYY-MM-DD)</c_cad>
		  <c_contl>NÚMERO DE CONTENEDOR LEÍDO</c_contl>
		</comparti>
		<comparti>
		  <c_num>NÚMERO DE CONTENEDOR INTERNO</c_num>
		  <c_articulo>ITEM06</c_articulo>
		  <c_lote>LOTE EXTRAÍDO</c_lote>
		  <c_cantidad>CANTIDAD</c_cantidad>
		  <c_cad>FECHA DE CADUCIDAD (FORMATO YYYY-MM-DD)</c_cad>
		  <c_contl>NÚMERO DE CONTENEDOR LEÍDO</c_contl>
		</comparti>
	</ordenes>
</sysalm>
como veis en el fichero tenemos un sysalm que es la etiqueta raiz y de la que recuelga la etiqueta ordenes. El tomate está dentro de ordenes, que puede tener: "orden", "descripcion" y "tipo", que siempre van a estar y habrá 1 de cada, pero luego "righe_sto" puede haber 1 o más de 1 y lo mismo pasa con "uds" y con "comparti".

Para mi que el archivo está mal y que tanto righe_sto como uds y comparti tienen que tener una etiqueta padre y dentro de ella repetirse estos tantas veces como se quieran.

Yo personalmente no tengo conocimiento de como leer eso. Sabríais como hacerlo y orientarme un poco?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder