mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
xml ItemsList https://forum.mix-soft.pl/viewtopic.php?f=15&t=8631 |
Strona 1 z 1 |
Autor: | zz [ 2018-06-01, 13:17 ] |
Tytuł: | 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, ... |
Autor: | bongos [ 2018-06-05, 12:27 ] |
Tytuł: | 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 ... |
Autor: | zz [ 2018-06-15, 11:40 ] |
Tytuł: | 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 ?) |
Autor: | bongos [ 2018-06-15, 12:34 ] |
Tytuł: | Re: xml ItemsList |
no jak chcesz polecieć po nodach w ramach item-a to childnodes jak najbardziej masz powyżej przykład |
Autor: | zz [ 2018-06-15, 12:53 ] |
Tytuł: | Re: xml ItemsList |
zrobiłem tak: Kod: xmlQuantityList = xml.getElementsByTagName("InvoiceItem/Quantity") ... xmlQuantity=xmlQuantityList.item(i) ... message xmlQuantity.text i jest OK |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |