开发者

XML Data to Flat Array

i've got an (maybe) simple Problem but i'm currently not able to solve it.

I've got an formated XML String like this:

<?xml version="1.0" encoding="utf-8"?>
<e5Notification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xml.element5.com/2.3/ordernotification.xsd">
<OrderNotification>
<Purchase>
<PurchaseId>391489835</PurchaseId>
<PurchaseDate>2011-09-17T11:37:52</PurchaseDate>
<PurchaseOrigin>online</PurchaseOrigin>
<PaymentCompleteDate>2011-09-17T11:37:52</PaymentCompleteDate>
<PaymentStatus>test payment arrived</PaymentStatus>
<CustomerData>
<BillingContact>
<LastName>User</LastName>
<FirstName>Test</FirstName>
<Email>nix@inter.net</Email>
<Address>
<Street1>Musterweg 123</Street1>
<City>Musterhausen</City>
<PostalCode>12345</PostalCode>
<CountryId>DE</CountryId>
<Country>Deutschland</Country>
</Address>
</BillingContact>
<DeliveryContact>
<LastName>User</LastName>
<FirstName>Test</FirstName>
<Email>nix@inter.net</Email>
<Address>
<Street1>Musterweg 123</Street1>
<City>Musterhausen</City>
<PostalCode>12345</PostalCode>
<CountryId>DE</CountryId>
<Country>Deutschland</Country>
</Address>
</DeliveryContact>
<CustomerPaymentData>
<PaymentMethod>Visa</PaymentMethod>
<Currency>EUR</Currency>
</CustomerPaymentData>
<Language>Deutsch</Language>
<RegName>Test User</RegName>
<SubscribeNewsletter>false</SubscribeNewsletter>
</CustomerData>
<PurchaseItem>
<RunningNo>1</RunningNo>
<ProductId>1234567896</ProductId>
<ProductName>Test-Product</ProductName>
<NotificationNo>0</NotificationNo>
<DeliveryType>Electronically</DeliveryType>
<Currency>EUR</Currency>
<Quantity>1</Quantity>
<ProductSinglePrice>192.44</ProductSinglePrice>
<VatPct>19.00</VatPct>
<Discount>0.00</Discount>
<ExtendedDownloadPrice>0.00</ExtendedDownloadPrice>
<ManuelOrderPrice>0.00</ManuelOrderPrice>
<ShippingPrice>0.00</ShippingPrice>
<ShippingVatPct>19.00</ShippingVatPct>
<Subscription>
<Interval>Monthly without end</Interval>
</Subscription>
</PurchaseItem>
</Purchase>
</OrderNotification>
</e5Notification>

I want to convert this into an simple array as flat as possible.

I've tried to seach S-O for possible, nearly matching solutions to solve it on my own but maybe i've got an bl开发者_Go百科ockade in my head immo.

Maybe someone could help me out.


This seems an underwhelmingly complex problem, so I probably don't understand the question. The answer is to parse the xml, storing it in array[], thus (using a pseudo-C notation):

array[0]:   struct OrderNotification, consisting of one or more
              struct Subscription, where each subscription has a collection of
                struct Purchase, and each Purchase has some
                  struct PurchaseItem;
array[1]:   same as array[0]
array[2]:   same as array[0]

usw.

Does this begin to address your question? Or am I way wrong?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜