Complex XML DataGrid Population
Hey Flexers,
Bit of a forum lurker here. Got a problem I'm hoping someone
can help me out with. Here is the deal.
I've got a DataGrid with a few columns, and an XML File.
The XML I think is the most pertinent to the converstation,
so I'll explain that first.
What I have is something that looks a bit like this:
<Result>
<Item>
<Data>
<Field1>Blarg</Field1>
<Field2>Meow</Field2>
</Data>
<Extra>
<X1>Foo</X1>
<X2>Bar</X2>
</Extra>
</Item>
</Result>
So in the code, the dataprovider would be
RequestFeed.lastResult.Result.Item right? because that is where the
singularity ends. I have multiple Items so I can't traverse any
further.
So now, how do I display the stuff inside Data?
Logically I would want to do something like
dataField="Data.Field1" in the columns, but that doesn't
seem to work.
Anyway, I hope that conveys the problem I'm having and the
general concept of what I'm trying to accomplish.
Thanks you all in advance ;-)
Hello again. I'm usually much better about jumping the gun on
things like this, and I did to quite a bit of research on my own,
yet I seem to have found the solution. I thought I'd share it with
you all since I hate it when I find threads that ask my question
but never answer it because the answer was found elsewhere. So.
My main problem was my inability to build the terminology
relating to my problem. After some scouring the web I constructed
"Displaying nested XML file in datagrid" I'm sure it wasn't
grammatically accurate, but enough so for google :)
Found a few sites:
http://cflex.net/showfiledetails.cfm/?ObjectID=258&Object=File&ChannelID=1
http://blog.flexexamples.com/2007/07/26/displaying-xml-data-in-a-datagrid/
the blog site looks promising for future reference.
Hope this helps all current and future questions related to
this!
Similar Messages
-
Reading complex XML file in flex
I have searched the web but found very primitive xml
examples. I want to read a complex xml file which through
httpservice .
The xml file is ultimately going to become dataProvider of a
tree. But I have no idea how to traverse this xml file. mentioned
under are the xml file and HTTPService tag.
I want to traverse it in the resultHandler function.
Thank you very muchYes, as Greg says, use e4x.
To do this you must set the HTTPService resultFormat="e4x";
In you handler, do:
var xmlResult= XML(event.result);
trace(xmlResult.toXMLString());
and away you go.
Tracy -
Binding ADF UI to a complex XML Type – Development Productivity, State Mgmt
Binding ADF UI to a complex Web Service – Development Productivity, Managing State, Etc.
For those scenarios when ADF UI has to be bound to a complex XML type, it seems that the direction taken by the ADF development team was to generate data-controls that map to complex XML types.
The major problem with this approach is the fact that application server does not manage state. For example, If application has to submit a purchase order to a web service then application server has to manage the shopping card state until its ready to be submitted.
In some previous forum threads it had been suggested that using generated data-controls is a “quick and dirty” solution for accessing web services and that a proper solution is to use generated Java Proxy Interface.
That implies many manually constructed entity objects, associations and overridden doDML methods, which is far less productive compared to entity objects generated from a database schema.
Suggestion and a Question for the ADF development team
From the logical model standpoint, there is no difference in between the XML schema and DB schema. Therefore, it is possible to generate entity objects and associations for XML Types of XML schema the same way it’s done for tables of Database schema. The only difference is serialization of CRUD operations on entity objects.
One way to handle this is:
- Generate Application Module for a complex XML type. This application module should have methods for marshaling to/from corresponding XML type.
- Generate entity object for each subtype within the complex XML type. In case of nested subtypes, generate association to a parent type.
- Generate data control with actions that are bound to web service operations and code that serializes request message from corresponding AM and de-serializes response message to corresponding AM.
This way, ADF would offer the same productivity for the SOA development as one its currently offering for the ORM development.
Until the time when something like this is available, what would be the best approach for binding ADF UI to web services?
Feedback is greatly appreciated.
Boro Petrovic
Edited by: wds12518 on Jan 25, 2010 11:49 AMWe have similar issues as our big portion of the UI is based on WS. We found that there is no easy way to map entity object structure to complex XML type (one EO can based on one flat type or domain can't be bound to UI directly). Oracle PMs, is there any better solution or future plans to address this issue?
-
Complex XML to Plain in JMS adapter "Content conversion module"
Hi!
I have read the document on "How To use the content conversion module with XI3.0 J2EE JMS Adapter", and it says only SimpleXML can be converted in the receiver channel.
I had hoped for a solution at least as good as in the File/ftp adapter, where complex XML can be transformed to files.
Are there plans to include complex XML conversion in the JMS adapter?
I can not use the file adapter as I need to change the file name and destination, and that can not be done by adding own module to its single module.
Any idea how I can achieve what I want?
To only way I can find, is to create a file using the file/ftp adapter, and then pick it up again and treat all the lines as the same structure (one row = one xml field). Then output this new xml message to file, using the JMS adapter and add any modules with name and destination determination.
Appreciate any help!
Regards,
Oeystein EmhjellenHello,
Have you tried to use an XSLT mapping within the IE?
I have, at one customer site, created a XSLT message mapping which converts the XML to a fixed length ASCII file format. I than added the XSLT message mapping as a second mapping step on the interface mapping.
In this case I was able to publish a fairly complex fixed length file format to MQ Series via the JMS adapter.
/Johan -
FCC on Sender CC to convert flat file to complex xml structure
Hi ,
i need to create a complex xml structure using FCC at the sender communication channel.
the datatype structure is as follows:
Data type Occurrence
DT_SOURCE
SEG_9 1..1
SEG_10 1..1
SEG_20 1..1
SEG_30 0..1
SEG_40 1..2
SEG_50 0..1
SEG_55(loop) 0..1
SEG_55 0..9999
SEG_60-70(loop) 1..1
SEG_60 0..1
SEG_70 0..9999
SEG_90 0..1
Please let me know how this can be acheived.
Regards,
Meenakshi
Edited by: meenakshipradhan on Apr 5, 2010 7:44 PMHi Meenakshi,
Please let us know the Hierarchy of the structure to be created, is it one level only?
Could you please explaing what is the loop meant here?
SEG_55(loop) 0..1
SEG_55 0..9999
SEG_60-70(loop) 1..1
Please specify if there are any delimiters or what is the file format at source.
Or Try reading the whole content of the file then use a XSLT to create the desired structure, i think in XSLT you can easily try out the looping.
Regards,
Srinivas. -
Covnert Complex XML to Simple XML tags using Adapter Module
Hi
<buyer>
<fnParty:partyIdentifier partyIdentifier="GER" partyIdentifierQualifierCode="SenderAssigned"/>
</buyer>
I want to convert above complex xml into following simple xml document
<buyer>GER</buyer>
I am writing adapter module. Could any one please tell me how to convert this
Regards
SowmyaHi,
Is partyidentifier is source xml and buyer in target xml?
You can map the attribute to buyer element in message mapping itself.
Why do you want adapter module?
Thanks,
Beena. -
Complex xml with multiple namespaces giving LPX-00601: Invalid token error
Hi
Apologies if this is a really simple question.
I have not worked with xml before and I'm drowning in different ways to do the extract.
I have a very complex xml, sample below, which I'm trying to do one siple extract to get myself going.
I have the data in a table in an xmltype column,
I am trying to extract containernumber first and get the error.
select xml_column, extract(xml_column,'/env:Envelope/env:Body/ns0:QueryCntrNumberResponse/ns0:QueryResContainerDetail/ns1:ContainerNumber/ns2:ContainerNumber')
from test_xml;
Not sure if I should use the namespaces and have tried without but results are always NULL
I would really appreciate any pointers around these ultiple namespaces.
Thanks
Nicki
XML Sample
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto">
<env:Body>
<ns0:QueryByCntrNumberResponse>
<ns0:QueryRes ult="">
<ns0:QueryCriteria>
<ns1:CarrierSCACCode>APLU</ns1:CarrierSCACCode>
<ns1:ContainerNumber>APZU344693-1</ns1:ContainerNumber>
</ns0:QueryCriteria>
<ns0:ContainerDetail>
<ns1:ContainerNumber>
<ns2:ContainerNumber>APZU344693</ns2:ContainerNumber>
<ns2:ContainerCheckDigit>1</ns2:ContainerCheckDigit>
<ns2:GrossWeight>
<ns2:Weight>20260.8</ns2:Weight>
<ns2:WeightUnit>KGS</ns2:WeightUnit>
</ns2:GrossWeight>
</ns1:ContainerNumber>
NOT THE FULL COLUMNCould I just ask you one more question.
I had already expanded the query to include the repeating sections using xmlsequence.
Has that been replaced too?
select extractvalue(xml_column,'/env:Envelope/env:Body/ns0:QueryByCntrNumberResponse/ns0:QueryResult/ns0:ContainerDetail/ns1:ContainerNumber/ns2:ContainerNumber',
'xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto"') col1,
extractvalue(value(t2),'/ns1:Event/ns1:EventDescription', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"') Event_Description,
extractvalue(value(t2),'/ns1:Event/ns1:EventDT/ns2:LocDT', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto" xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"') Event_DT,
extractvalue(value(t2),'/ns1:Event/ns1:Location/ns2:LocationName', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto" xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"') location
from test_xml t1,
table(xmlsequence(extract(t1.xml_column,'/env:Envelope/env:Body/ns0:QueryByCntrNumberResponse/ns0:QueryResult/ns0:ContainerDetail/ns1:Event','xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto"'))) t2; -
every example you see online is trivial and utterly useless
for practical programming purposes...typically you'll see something
like this:
<mx:XML format="e4x" id="myMenuModel">
<root label="Menu">
<menuitem label="MenuItem A">
<menuitem label="SubMenuItem 1-A"/>
<menuitem label="SubMenuItem 2-A" />
</menuitem>
<menuitem label="MenuItem B"/>
<menuitem label="MenuItem C" type="check"/>
<menuitem type="separator"/>
<menuitem label="MenuItem D">
<menuitem label="SubMenuItem 1-D" type="radio"
groupName="one"/>
<menuitem label="SubMenuItem 2-D" type="radio"
groupName="one"/>
<menuitem label="SubMenuItem 3-D" type="radio"
groupName="one"/>
</menuitem>
</root>
</mx:XML>
...just hard coded simplistic xml which is fine and dandy if
you have a simple xml schema and all the leaves of your tree can be
keyed off the same "label" attribute. But what if you have a
complex, deeply nested XML file that doesn't follow this nice
pattern? What if I want to pull different attributes from different
levels in the tree to display, is that even possible? Or what if I
dont want to use the attribute at all for my display label in the
tree, what if I want to use an element node name? Like for example,
say I had:
<department label="marketing">
<employee name="Eric Cartman" Age="8">
<interest>
<type>food</type>
<name>cheesiepoofs</name>
</interest>
<interest>
<type>pets</type>
<name>mr. kitty</name>
</interest>
</employee>
Is there a way I can build my tree to use the department
'label' attribute for the top level, the employee 'name' attribute
for the second level and the <type> element nested under
<interest> for the third level?
I confess I'm a Flex newbie but any other language I've
worked provides a mechanism to tailor this sort of thing to
individual business cases. Any insight would be greatly
appreciated.
thank you.
SAnother approach is parse your complex xml into objects and
then create your own
tree datadescriptor. This is described in the help. Search on
"custom tree datadescriptor"
We use this approach because the xml we want to display in a
tree does not fit nicely. So we wrote a parser that converts the
xml into "TreeObjects" (our class) and created the custom tree
datadescriptor to handle it. When we create the tree object we can
control the data used for the label so it displays correctly. -
DEBMDM06 based Idocs: Simple XML Vs Complex XML
The idocs we extracted from ECC "mdmc" Tcode based on DEBMDM type. Are they simple XML or Complex XML?? because we operate on AIX and according to IM referecne guide AIX does not support Complex XML via Import server
Ok, it is not Complex type, based on Reference guide, and also couple of other posts!.
-
Flash Builder mobile - complex XML reading
Hello Developers,
Please help me! I'm trying to develop a mobile app, that displays a complex xml file (i'm not a developer, so please be patient... ). Here's the xml file, then I write what I'd like to do:
<?xml version="1.0"?>
<server_status>
<hosts>
<host>
<host_name>server1</host_name>
<modified_attributes>0</modified_attributes>
<check_command>check-host-alive</check_command>
<check_period>24x7</check_period>
<notification_period>24x7</notification_period>
</host>
<host>
<host_name>server2</host_name>
<modified_attributes>0</modified_attributes>
<check_command>check-host-alive</check_command>
<check_period>24x7</check_period>
<notification_period>24x7</notification_period>
</host>
</hosts>
<services>
<service>
<host_name>server1</host_name>
<service_description>C:\ Drive Space - Exchange Edge 1</service_description>
<modified_attributes>0</modified_attributes>
<check_command>check_nt!USEDDISKSPACE!-l c -w 80 -c 90</check_command>
</service>
<service>
<host_name>server1</host_name>
<service_description>CPU Load - Exchange Edge 1</service_description>
<modified_attributes>0</modified_attributes>
<check_command>check_nt!CPULOAD!-l 5,80,90</check_command>
</service>
<service>
<host_name>server2</host_name>
<service_description>C:\ Drive Space - Exchange Edge 2</service_description>
<modified_attributes>0</modified_attributes>
<check_command>check_nt!USEDDISKSPACE!-l c -w 80 -c 90</check_command>
</service>
<service>
<host_name>server2</host_name>
<service_description>CPU Load - Exchange Edge 2</service_description>
<modified_attributes>0</modified_attributes>
<check_command>check_nt!CPULOAD!-l 5,80,90</check_command>
</service>
</services>
</server_status>
As you can see, there's 2 main nodes: hosts & services. On the opening screen of the app I can list the hosts displaying in a list the host nodes with host_name. That's fine. I select one of them and on the new view I show the selected host attributes like <modified_attributes>, <check_period>, etc. What I want is to display on this screen the selected host's services. Under the <services> node there are 4 <service> child node: 2 services for host1 and 2 services for host2. I only want to list those services that are belong to the host I selected on the main view.
Please write me the source code of the solution either here or in email ([email protected])
Thanks for your help!Really thanks for your reply, but I don't really know, where and how to put in the code. Here's the mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:szolgaltatas="services.szolgaltatas.*"
title="DetailsView"
viewActivate="getDetails()"
>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Bindable] private var ha:String;
[Bindable] private var hb:String;
[Bindable] private var hc:String;
[Bindable] private var hd:String;
import valueObjects.Host;
import valueObjects.Service;
private function getDetails():void
var thisItem:Host = data as Host;
ha = thisItem.last_time_up;
hb = thisItem.last_check;
hc = thisItem.plugin_output;
hd = thisItem.host_name;
protected function textArea_creationCompleteHandler(event:FlexEvent):void
getDataResult.token = szolgaltatas.getData();
]]>
</fx:Script>
<fx:Declarations>
<s:CallResponder id="getDataResult"/>
<szolgaltatas:Szolgaltatas id="szolgaltatas"/> <!-- Szolgaltatas service -> getData(): Service[] -->
</fx:Declarations>
<s:Label top="10" left="10" right="10" text="Time Up: {ha}"/>
<s:Label top="30" left="10" right="10" text="Last Check: {hb}"/>
<s:Label top="50" left="10" right="10" text="Check Result: {hc}"/>
<s:Label top="90" left="10" right="10" text="Hostname: {hd}"/>
<s:TextArea id="textArea" left="10" right="10" bottom="10" height="50%"
creationComplete="textArea_creationCompleteHandler(event)"
/>
</s:View>
Thank you Jakub! -
Little help with complex XML data as data provider for chart and adg
Hi all,
I've been trying to think through a problem and Im hoping for
a little help. Here's the scenario:
I have complex nested XML data that is wrapped by subsequent
groupings for efficiency, but I need to determine if each inner
item belongs in the data collection for view in a data grid and
charts.
I've posted an example at the bottom.
So the goal here is to first be able to select a single
inspector and then chart out their reports. I can get the data to
filter from the XMLListCollection using a filter on the first layer
(ie the name of the inspector) but then can't get a filter to go
deeper into the structure in order to determine if the individual
item should be contained inside the collection. In other words, I
want to filter by inspector, then time and then tag name in order
to be able to use this data as the basis for individual series
inside my advanced data grid and column chart.
I've made it work with creating a new collection and then
looping through each time there is a change to the original
collection and updating the new collection, but that just feels so
bloated and inefficient. The user is going to have some buttons to
allow them to change their view. I'm wondering if there is a
cleaner way to approach this? I even tried chaining filter
functions together, but that didn't work cause the collection is
reset whenever the .refresh() is called.
If anyone has experience in efficiently dealing with complex
XML for charting purposes and tabular display purposes, I would
greatly appreciate your assistance. I know I can get this to work
with a bunch of overhead, but I'm seeking something elegant.
Thank you.Hi,
Please use the code similar to below:
SELECT * FROM DO_NOT_LOAD INTO TABLE IT_DO_NOT_LOAD.
SORT IT_DO_NOT_LOAD by WBS_Key.
IF SOURCE_PACKAGE IS NOT INITIAL.
IT_SOURCE_PACKAGE[] = SOURCE_PACKAGE[].
LOOP AT IT_SOURCE_PACKAGE INTO WA_SOURCE_PACKAGE.
V_SYTABIX = SY-TABIX.
READ TABLE IT_DO_NOT_LOAD into WA_DO_NOT_LOAD
WITH KEY WBS_Key = WA_SOURCE_PACKAGE-WBS_Key
BINARY SEARCH.
IF SY-SUBRC = 0.
IF ( WA_DO_NOT_LOAD-WBS_EXT = 'A' or WA_DO_NOT_LOAD-WBS_EXT = 'B' )
DELETE IT_SOURCE_PACKAGE INDEX V_SYTABIX.
ENDIF.
ENDIF.
ENDLOOP.
SOURCE_PACKAGE[] = IT_SOURCE_PACKAGE[].
ENDIF.
-Vikram -
Parse complex XML in PL/SQL
have complex XML with depth level 10. I need to parse and store data into tables from XML. I am able to parse simple XML but not complex. Could any body suggest me the required steps to parse complex XML in PL/SQL?
Based on response from mdrake on this thread:
Re: XML file processing into oracle
Reading XML using a schema...
declare
SCHEMAURL VARCHAR2(256) := 'http://xmlns.example.org/xsd/testcase.xsd';
XMLSCHEMA VARCHAR2(4000) := '<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xdb:storeVarrayAsTable="true">
<xs:element name="cust_order" type="cust_orderType" xdb:defaultTable="CUST_ORDER_TBL"/>
<xs:complexType name="groupType" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="item" type="itemType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:byte" use="required"/>
</xs:complexType>
<xs:complexType name="itemType" xdb:maintainDOM="false">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:short" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="cust_orderType" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="group" type="groupType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="cust_id" type="xs:short" use="required"/>
</xs:complexType>
</xs:schema>';
INSTANCE CLOB :=
'<cust_order cust_id="12345">
<group id="1">
<item id="1" name="Standard Mouse">100</item>
<item id="2" name="Keyboard">100</item>
<item id="3" name="Memory Module 2Gb">200</item>
<item id="4" name="Processor 3Ghz">25</item>
<item id="5" name="Processor 2.4Ghz">75</item>
</group>
<group id="2">
<item id="1" name="Graphics Tablet">15</item>
<item id="2" name="Keyboard">15</item>
<item id="3" name="Memory Module 4Gb">15</item>
<item id="4" name="Processor Quad Core 2.8Ghz">15</item>
</group>
<group id="3">
<item id="1" name="Optical Mouse">5</item>
<item id="2" name="Ergo Keyboard">5</item>
<item id="3" name="Memory Module 2Gb">10</item>
<item id="4" name="Processor Dual Core 2.4Ghz">5</item>
<item id="5" name="Dual Output Graphics Card">5</item>
<item id="6" name="28inch LED Monitor">10</item>
<item id="7" name="Webcam">5</item>
<item id="8" name="A3 1200dpi Laser Printer">2</item>
</group>
</cust_order>';
begin
dbms_xmlschema.registerSchema
schemaurl => SCHEMAURL
,schemadoc => XMLSCHEMA
,local => TRUE
,genTypes => TRUE
,genBean => FALSE
,genTables => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
execute immediate 'insert into CUST_ORDER_TBL values (XMLTYPE(:INSTANCE))' using INSTANCE;
end;
desc CUST_ORDER_TBL
--SQL> desc CUST_ORDER_TBL
-- Name Null? Type
-- TABLE of SYS.XMLTYPE(XMLSchema "http://xmlns.example.org/xsd/testcase.xsd" Element "cust_order") STORAGE Object-relational TYPE "cust_orderType222_T"
set autotrace on explain
set pages 60 lines 164 heading on
col cust_id format a8
select extract(object_value,'/cust_order/@cust_id') as cust_id
,grp.id as group_id, itm.id as item_id, itm.inm as item_name, itm.qty as item_qty
from CUST_ORDER_TBL
,XMLTABLE('/cust_order/group'
passing object_value
columns id number path '@id'
,item xmltype path 'item'
) grp
,XMLTABLE('/item'
passing grp.item
columns id number path '@id'
,inm varchar2(30) path '@name'
,qty number path '.'
) itm
CUST_ID GROUP_ID ITEM_ID ITEM_NAME ITEM_QTY
12345 1 1 Standard Mouse 100
12345 1 2 Keyboard 100
12345 1 3 Memory Module 2Gb 200
12345 1 4 Processor 3Ghz 25
12345 1 5 Processor 2.4Ghz 75
12345 2 1 Graphics Tablet 15
12345 2 2 Keyboard 15
12345 2 3 Memory Module 4Gb 15
12345 2 4 Processor Quad Core 2.8Ghz 15
12345 3 1 Optical Mouse 5
12345 3 2 Ergo Keyboard 5
12345 3 3 Memory Module 2Gb 10
12345 3 4 Processor Dual Core 2.4Ghz 5
12345 3 5 Dual Output Graphics Card 5
12345 3 6 28inch LED Monitor 10
12345 3 7 Webcam 5
12345 3 8 A3 1200dpi Laser Printer 2
17 rows selected.Need at least 10.2.0.3 for performance i.e. to avoid COLLECTION ITERATOR PICKLER FETCH in execution plan...
On 10.2.0.1:
Execution Plan
Plan hash value: 3741473841
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 24504 | 89M| 873 (1)| 00:00:11 |
| 1 | NESTED LOOPS | | 24504 | 89M| 873 (1)| 00:00:11 |
| 2 | NESTED LOOPS | | 3 | 11460 | 805 (1)| 00:00:10 |
| 3 | TABLE ACCESS FULL | CUST_ORDER_TBL | 1 | 3777 | 3 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | SYS_IOT_TOP_774117 | 3 | 129 | 1 (0)| 00:00:01 |
| 5 | COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE | | | | |
Predicate Information (identified by operation id):
4 - access("NESTED_TABLE_ID"="CUST_ORDER_TBL"."SYS_NC0000900010$")
filter("SYS_NC_TYPEID$" IS NOT NULL)
Note
- dynamic sampling used for this statementOn 10.2.0.3:
Execution Plan
Plan hash value: 1048233240
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 17 | 132K| 839 (0)| 00:00:11 |
| 1 | NESTED LOOPS | | 17 | 132K| 839 (0)| 00:00:11 |
| 2 | MERGE JOIN CARTESIAN | | 17 | 131K| 805 (0)| 00:00:10 |
| 3 | TABLE ACCESS FULL | CUST_ORDER_TBL | 1 | 3781 | 3 (0)| 00:00:01 |
| 4 | BUFFER SORT | | 17 | 70839 | 802 (0)| 00:00:10 |
|* 5 | INDEX FAST FULL SCAN| SYS_IOT_TOP_56154 | 17 | 70839 | 802 (0)| 00:00:10 |
|* 6 | INDEX UNIQUE SCAN | SYS_IOT_TOP_56152 | 1 | 43 | 2 (0)| 00:00:01 |
|* 7 | INDEX RANGE SCAN | SYS_C006701 | 1 | | 0 (0)| 00:00:01 |
Predicate Information (identified by operation id):
5 - filter("SYS_NC_TYPEID$" IS NOT NULL)
6 - access("SYS_NTpzENS1H/RwSSC7TVzvlqmQ=="."NESTED_TABLE_ID"="SYS_NTnN5b8Q+8Txi9V
w5Ysl6x9w=="."SYS_NC0000600007$")
filter("SYS_NC_TYPEID$" IS NOT NULL AND
"NESTED_TABLE_ID"="CUST_ORDER_TBL"."SYS_NC0000900010$")
7 - access("SYS_NTpzENS1H/RwSSC7TVzvlqmQ=="."NESTED_TABLE_ID"="SYS_NTnN5b8Q+8Txi9V
w5Ysl6x9w=="."SYS_NC0000600007$")
Note
- dynamic sampling used for this statement-----
-- CLEAN UP
DROP TABLE CUST_ORDER_TBL purge;
exec dbms_xmlschema.deleteschema('http://xmlns.example.org/xsd/testcase.xsd'); -
Import/Export Large Complex XMl files(700MB) to MySQL tables
Am creating an application that will be mporting large and complex XML file in the range of 500-1000MB size. An xml ile wil have 5-6 levels of xml tags where the first tag will be the client account configuration e.g name, location, address, the second will be orders made, the third will be order items, fourth will be item defination...etc. The following is a sample structure of the file.
<mycompany_sales> <customer name="me"> <location country="Kenya"> <town>nairobi</toen> <order id="20000" date="2008-09-08"> <item id="4000"> <stock>2000</stock> <buying>300.0</buying> </item> ........ <total>5000</total> </order> .............. </location> </customer> ........... </mycompany_sales>
Because of the size, if i process this file using DOM it will result to out of memory error. I have tried parsing with SAX but it takes about 18 hours to process which is not ideal. If i import this data to Microsoft Access it takes about 10 minutes to import including it's relationship. i.e. creates the six tables and the foregin key relations.
I tried using XML-DBMS package but since it relies on DOM, it cant process. Does anyone know of a package that would help me import this data to any JDBC databse and also recreate the same structure of xml from the jdbc db. It would also be ideal if it can create sample map file during import and export.
Thanks in advance,
Simon K.kagara wrote:
I tried using XML-DBMS package but since it relies on DOM, it cant process. Does anyone know of a package that would help me import this data to any JDBC databse and also recreate the same structure of xml from the jdbc db. It would also be ideal if it can create sample map file during import and export.So you are parsing the XML, extracting the schema, using jdbc to create it, then parsing the data and using jdbc to populate it.
I suggest that you just create SQL directly. Or perhaps a import file if MySQL has it.
Less impact on the database, easier to test, easier to verify, and much faster to actually apply the data. -
Binding very complex XML data in DataGrid
So here is an Xml i retrieve from webservice. And as you can
see it uses namespaces and so on... So there ar some
<q1:StatusOption> tags in here, and i need their props to be
bind in DataGrid with columns OptionValue, Description, State...
I've tried many ways but with no success. Please help! And if it's
possible without arrays. Thanks.
<RetrieveAttributeMetadataResponse xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns="
http://schemas.microsoft.com/crm/2006/WebServices">
<RetrieveAttributeMetadataResult
xsi:type="q1:StatusAttributeMetadata" xmlns:q1="
http://schemas.microsoft.com/crm/2006/Metadata">
<q1:Name>statuscode</q1:Name>
<q1:Type>Status</q1:Type>
<q1:DisplayName>Status</q1:DisplayName>
<q1:Description>Reason for the status of the
contact.</q1:Description>
<q1:IsCustomField>false</q1:IsCustomField>
<q1:RequiredLevel>None</q1:RequiredLevel>
<q1:DefaultValue
xsi:type="xsd:int">-1</q1:DefaultValue>
<q1:ValidForCreate>true</q1:ValidForCreate>
<q1:ValidForRead>true</q1:ValidForRead>
<q1:ValidForUpdate>true</q1:ValidForUpdate>
<q1:DisplayMask>ValidForAdvancedFind ValidForForm
ValidForGrid</q1:DisplayMask>
<q1:NextValue>3</q1:NextValue>
<q1:Options>
<q1:StatusOption>
<q1:OptionValue>1</q1:OptionValue>
<q1:Description>Active</q1:Description>
<q1:State>0</q1:State>
</q1:StatusOption>
<q1:StatusOption>
<q1:OptionValue>2</q1:OptionValue>
<q1:Description>Not active</q1:Description>
<q1:State>1</q1:State>
</q1:StatusOption>
</q1:Options>
</RetrieveAttributeMetadataResult>
</RetrieveAttributeMetadataResponse>I found an answer on the other forum. Check this out :)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
private var myxml:XML =
<RetrieveAttributeMetadataResponse xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns="
http://schemas.microsoft.com/crm/2006/WebServices">
<RetrieveAttributeMetadataResult
xsi:type="q1:StatusAttributeMetadata" xmlns:q1="
http://schemas.microsoft.com/crm/2006/Metadata">
<q1:Name>statuscode</q1:Name>
<q1:Type>Status</q1:Type>
<q1:DisplayName>Status</q1:DisplayName>
<q1:Description>Reason for the status of the
contact.</q1:Description>
<q1:IsCustomField>false</q1:IsCustomField>
<q1:RequiredLevel>None</q1:RequiredLevel>
<q1:DefaultValue
xsi:type="xsd:int">-1</q1:DefaultValue>
<q1:ValidForCreate>true</q1:ValidForCreate>
<q1:ValidForRead>true</q1:ValidForRead>
<q1:ValidForUpdate>true</q1:ValidForUpdate>
<q1:DisplayMask>ValidForAdvancedFind ValidForForm
ValidForGrid</q1:DisplayMask>
<q1:NextValue>3</q1:NextValue>
<q1:Options>
<q1:StatusOption>
<q1:OptionValue>1</q1:OptionValue>
<q1:Description>Active</q1:Description>
<q1:State>0</q1:State>
</q1:StatusOption>
<q1:StatusOption>
<q1:OptionValue>2</q1:OptionValue>
<q1:Description>Not active</q1:Description>
<q1:State>1</q1:State>
</q1:StatusOption>
</q1:Options>
</RetrieveAttributeMetadataResult>
</RetrieveAttributeMetadataResponse>;
private function onCreationComplete():void
var result:XMLList = myxml..*::StatusOption;
dg1.dataProvider = result;
private function getAttributeValue(item:Object,
column:DataGridColumn):String
var xmlList:XMLList = XML(item).child(new QName("
http://schemas.microsoft.com/crm/2006/Metadata",column.dataField));
return xmlList[0].toString();
]]>
</mx:Script>
<mx:DataGrid id="dg1"
labelFunction="getAttributeValue">
<mx:columns>
<mx:DataGridColumn dataField="OptionValue"/>
<mx:DataGridColumn dataField="Description" />
<mx:DataGridColumn dataField="State" />
</mx:columns>
</mx:DataGrid>
</mx:Application> -
Is there anyway to bind complete XML file to
(Advanced)Datagrid?
What i mean who can do it like that attached?
quote:
http://img119.imageshack.us/my.php?image=multiheader.jpgWoW! Your first post. Welcome aboard.
...But there seems to be far too little information to
answer.
Where is your code? ...is the XML read in dynamically?
Where is an example of the XML file format?
What kind of errors are you getting? ...where and when?
There are many answers to this problem but which fits your
issues is hard to tell.
Maybe you are looking for
-
Every time I turn my computer on and open iTunes all my music is gone, if comes up with the scan media page, all my playlists have been deleted. All my music is still on the computer and in the files. I don't know why it keeps doing this, it's really
-
SendStation iPod / iPhone Dock Extender from GadgetLocker doesn't work!
Ok I went to the Gadget Locker and bought iPod / iPhone Dock Extender [URL="http://www.thegadgetlocker.com/productinfo.php/cPath/223/productsid/2787"]http://www.thegadgetlocker.com/productinfo.php/cPath/223/productsid/2787[/URL] and than I bought an
-
IS Retail, Promo Discounts, KA02, WGRU1
I am trying to set up a promotional discount at Merchandise Category 1 (WGRU1) level. The promotion discount condition (KA02) requires a table containing the field WGRU1 in order to hold the % discount. Even though this field is in the field catalogu
-
I have a new computer with new songs I have purchased. But my iPhone has almost 2,000 songs on it and I have deleted it once before by trying to transfer my songs to a new computer before. Now I am a little bit scared to even try, so... How can I tra
-
Port mapping conflict, what do I do?
trying to port map "personal file sharing" to my airport but i get a public tcp port conflict. How do I resolve this? Do I just pick another number and match it with the private tcp port ? Or do I have to select a new port for this operation in OSX?