Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-23, 00:30x



Odpowiedz w temacie  [ Posty: 5 ] 
xml ItemsList 
Autor Wiadomość

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post xml ItemsList
Dziękuję Rafałowi za pomoc w temacie http://www.forum.mojasymfonia.pl/viewtopic.php?f=15&t=3624
zakładam nowy temat, żeby było czytelniej

pytanie 1, poniżej fragment pliku XML
jak z niego wyciągnąć tekst DOSTAWCA
Kod:
<Forwarder ForwarderId="3004">
<ForwarderAddress AddressId="17149" MatchCode="DOSTAWCA">
<Name>Logistik Polska Sp. z o.o. </Name>
<Street>ul... </Street>
<ZIP>12345</ZIP>
<City>miasto</City>
</ForwarderAddress>
</Forwarder>


pytanie 2, fragment pliku XML
Kod:
<Body>
<InvoiceId>104010</InvoiceId>
...
<InvoiceItems>
<InvoiceItem>
  <DeliveryId>143129</DeliveryId>
  <POCId>586814/01</POCId>
  <Quantity>438</Quantity>
  <Amount>306.74</Amount>
</InvoiceItem>
<InvoiceItem>
...
</InvoiceItem>
...
</InvoiceItems>
</Body>



jak wyciągnąć wartości poszczególnych zapisów w InvoiceItem: Quantity, Amount, ...

_________________
zz


2018-06-01, 13:17
Wyświetl profil
Autor Wiadomość
 


Awatar użytkownika

Rejestracja: 2013-09-05, 11:53
Posty: 126
Pomógł: 8
Post Re: xml ItemsList
[1] tak iterujesz po atrybutach, pokombinuj

for a1=0 to a1>l_root.attributes.length-1
print using "%d : %s == %s\n",a1,l_root.attributes.item(a1).name,l_root.attributes.item(a1).value
next a1


[2] kombinuj - jak już złapiesz noda to iteruj po jego dzieciach
a jak w założeniu dzieci mają dzieci to dołóż dodatkową iterację
:-)

np. coś takiego
...
l_cn=l_bn.item(b1).childnodes
c2=l_cn.length-1
for c1=0 to c1>c2
select case lcase(l_cn.item(c1).nodename)
case "tag_z_tagami":
l_dn=l_cn.item(c1).childnodes: d2=l_dn.length-1
for d1=0 to d1>d2
select case lcase(l_dn.item(d1).nodename)
case "pole","inne_pole","kolejne_inne_pole"
..... costam=l_dn.item(d1).text

next d1
...
next c1
...

są bardziej eleganckie rozwiązania ale wiesz na bezrybiu ...


2018-06-05, 12:27
Wyświetl profil

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post Re: xml ItemsList
Robię raport w AMBasic-u i nie chcę 'mieszać'

Kod:
dispatch xml = "Microsoft.XMLDOM"
dispatch xmlItemsList
...
xmlItemsList=xml.getElementsByTagName("InvoiceItems/InvoiceItem")
iItemsCount = xmlItemsList.length
for i...
xmlItem=xmlItemsList.item(i)
message xmlItem.text    // (i mam ciąg znaków całego Item-a)
next i


i właśnie nie wiem jak to zrobić dalej (ChildNodes ?)

_________________
zz


2018-06-15, 11:40
Wyświetl profil
Awatar użytkownika

Rejestracja: 2013-09-05, 11:53
Posty: 126
Pomógł: 8
Post Re: xml ItemsList
no jak chcesz polecieć po nodach w ramach item-a to childnodes jak najbardziej
masz powyżej przykład


2018-06-15, 12:34
Wyświetl profil

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post Re: xml ItemsList
zrobiłem tak:

Kod:
xmlQuantityList = xml.getElementsByTagName("InvoiceItem/Quantity")
...
xmlQuantity=xmlQuantityList.item(i)
...
message xmlQuantity.text


i jest OK

_________________
zz


2018-06-15, 12:53
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 5 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. xml

w Programy Handlowe

neo83

0

2985

2020-11-13, 19:11

neo83 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Eksport do XML

w Programy Handlowe

szejki

1

2236

2021-11-22, 18:03

rafal Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. problem z xml

w Techniczne

pbrk

3

3120

2011-01-18, 12:52

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. faktua XML

w Programy Handlowe

nevion

0

2360

2019-02-28, 13:08

nevion Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 17 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant