Read XML response with multiple root elements

Hi ,
I am trying to achieve the below scenario but unable to do so.Please help urgently.
I am getting a response from a service which has multiple root elements.these root elements can change at runtime..I need to read the different root elements and extract data from its sub elements.
Regards...
Hoping for an anwser..

i assume on runtime the service just returns 1 rootnode, but this rootnode can change
you could use a switch after the invoke
if $response/myroot1
assign $response/myroot to myroot1_var
if $response/myroot2
assign $response/myroot to myroot2_var
etc
so you check what's in the root node before you assign to you temp variable
or if you have logic which is specific based on this root nod you can just implement all these branches in the switch and execute logic in there based on the selected rootnode
several implementations are possible

Similar Messages

  • Multiple Root elements in the XSD Schema

    Hi Dear MDM gurus,
    I have manually created an XSD Schema and I can import it in the Syndicator without any problem.
    I have 3 different Root elements in the schema that I want to use and map to the corresponding table of this type.
    In my Syndicator screen in the Rood dropdown box I can see all three of the Root elements that I have in the schema.
    If I select the first Root element - everything goes fine and I can do my mapping, save the map, etc.
    The problem is that if I select the second or third root element to do the mapping for them, the syndicator does not show the structure in the Item Mapping after that.
    I tried moving the Second root element of the schema and make it first and it works with it, but then the other two are not appearing and I have the same issue.
    Does MDM support only one Root element in the Schema? If that's the case, why does it show all three of them in the dropdown?
    Here is an example:
    1. If I have them in this order in my XSD
              <xs:element name="ManufacturerGroupNumber" type="ManufacturerGroupNumbers"/>
              <xs:element name="SupplierGroupNumber" type="SupplierGroupNumbers"/>
              <xs:element name="SupplierLocationNumber" type="Suppliers"/>
    I can only see the structure when I select the "ManufacturerGroupNumber".
    2. If I have them in the Schema in this order
              <xs:element name="SupplierLocationNumber" type="Suppliers"/>
              <xs:element name="SupplierGroupNumber" type="SupplierGroupNumbers"/>
              <xs:element name="ManufacturerGroupNumber" type="ManufacturerGroupNumbers"/>
    I can only see the structure when I select the first one again "SupplierLocationNumber" and I can only do the mapping for it.
    Any help would be appreciated.
    Thanks in advance,
    Boris

    Hello Satish,
    Thank you for your quick response.
    I read some of the architectural approaches and XML specifications and depending on your design, you may have only one Root element or in rare cases Several Root elements. In my case, I was advised by our PI experts to use Multiple Root elements and this gives me the following:
    Advantages:
    u2022 The reusability of the schema definition is available for all types and all elements defined in the global namespace.
    Disadvantages:
    u2022 Since there are many global elements, there are many valid XML documents.
    I initially had the schema as you suggested, but they didn't like it in PI and advised me to change it with having multiple roots.
    What I'm trying to figure out is if there is a bug in MDM that does not allow to use the rest of the root elements, so I can open an OSS message.
    Thanks,
    Boris

  • Org.xml.sax.SAXParseException: Document root element is missing.

    Hi,
    I am trying to get the portal login id from a weblogic server based application from iplaet portal server.
    I get this follwoing error
    org.xml.sax.SAXParseException: Document root element is missing.
    at com.sun.xml.parser.Parser.fatal(Parser.java:2817)
    at com.sun.xml.parser.Parser.fatal(Parser.java:2805)
    at com.sun.xml.parser.Parser.parseInternal(Parser.java:493)
    at com.sun.xml.parser.Parser.parse(Parser.java:284)
    at com.sun.xml.tree.XmlDocument.createXmlDocument(XmlDocument.java:226)
    at com.iplanet.portalserver.util.XMLParser.<init>(XMLParser.java:70)
    at com.iplanet.portalserver.naming.share.NamingResponseParser.<init>(NamingResponseParser.java:33)
    at com.iplanet.portalserver.naming.share.NamingResponse.parseXML(NamingResponse.java:74)
    at com.iplanet.portalserver.naming.WebtopNaming.updateNamingTable(WebtopNaming.java:174)
    at com.iplanet.portalserver.naming.WebtopNaming.getNamingProfile(WebtopNaming.java:155)
    at com.iplanet.portalserver.naming.WebtopNaming.getServiceURL(WebtopNaming.java:57)
    at com.iplanet.portalserver.session.Session.getSessionServiceURL(Session.java:534)
    at com.iplanet.portalserver.session.Session.getSessionServiceURL(Session.java:520)
    at com.iplanet.portalserver.session.Session.getSession(Session.java:414)
    at jsp_servlet.__eatonPortalLogin._jspService(__eatonPortalLogin.java:155)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1075)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:462)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5517)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:685)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3156)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2506)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
    <May 19, 2004 9:01:12 AM EDT> <Error> <HTTP> <101017> <[ServletContext(id=4873279,name=ematrix,context-path=/ematrix)] Root cause of ServletException
    com.iplanet.portalserver.session.SessionException
    at com.iplanet.portalserver.session.Session.getSessionServiceURL(Session.java:539)
    at com.iplanet.portalserver.session.Session.getSessionServiceURL(Session.java:520)
    at com.iplanet.portalserver.session.Session.getSession(Session.java:414)
    at jsp_servlet.__eatonPortalLogin._jspService(__eatonPortalLogin.java:155)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1075)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:462)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5517)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:685)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3156)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2506)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
    Any help/pointers will be appreciated.
    Ashish

    Just for anyone else who hits this problem: I encountered the same issue with an XML document that XMLSpy claims is quite well formed. I opened the document in a hex editor, and there at the from was a three-byte byte order marker - the marker that I believe the UTF-8 standard says is optional. I removed these three bytes, and the file was parsed correctly.
    In this case, the XML file was created using a Microsft DOM (save).
    My solution is to make the java parser - as I use it - a tad more robust: Open the file and create an input stream - a pushback input stream. Read the first three bytes; if they are NOT a BOM, then push those bytes back. Now - in any case - give the stream to the parser to read.
    try {
    // Open file for reading.
    f = new File(path);
    FileInputStream fis = new FileInputStream(f);
    PushbackInputStream pis = new PushbackInputStream(fis);
    byte[] buf = new byte[3];
    pis.read(buf, 0, 3);
    if (! (buf[0] == 0x00EF) && (buf[1] == 0x00BB) && (buf[2] == 0x00BF) ) {
         pis.unread(buf, 0, 3);
    builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    doc = builder.parse(pis);
    catch (Exception x) {
         x.printStackTrace();
    }

  • "detected a page fragment with multiple root components" warning

    I am getting a warning on the standalone WLS when I run my page that contains a taskflow as region. I am using a page fragment in my taskflow.
    <Warning> <oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer> <ADF_FACES-60099> <The region component with id: ptMain:r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance. It is recommended that you restructure the page fragment to have a single root component.>
    The warning states the obvious, I have everything within a panelheader in my page fragment. Also, I do not get the warning on the integrated WLS. Any ideas as to why this warning is still popping up in the log? I am using JDev 11.1.1.3.
    Thanks,
    Jessica

    Thank you for responding. I do not have any popups. I do, however, have another region nested within this fragment ( have this warning on another fragment that doesn't have a nested region though). Here is the code for my fragment.
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:f="http://java.sun.com/jsf/core">
    <af:panelHeader text="Pawn"
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.ph1}"
    id="ph1" type="default">
    <af:panelFormLayout id="pfl2">
    <af:panelSplitter binding="#{backingBeanScope.backing_Fragments_PawnSearch.ps1}"
    id="ps1" orientation="vertical" splitterPosition="62"
    inlineStyle="width:775px; height:660px;">
    <f:facet name="first">
    <af:panelBox text="Search #{bindings.agency.inputValue} Data to Update"
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.pb1}"
    id="pb1">
    <f:facet name="toolbar"/>
    <af:panelGroupLayout id="pgl3" layout="horizontal">
    <af:inputText value="#{bindings.control_number.inputValue}"
    label="Control Number" required="true"
    columns="#{bindings.control_number.hints.displayWidth}"
    maximumLength="#{bindings.control_number.hints.precision}"
    shortDesc="#{bindings.control_number.hints.tooltip}"
    id="it1">
    <f:validator binding="#{bindings.control_number.validator}"/>
    </af:inputText>
    <af:inputDate value="#{bindings.trans_date.inputValue}"
    label="Date" required="true"
    shortDesc="#{bindings.trans_date.hints.tooltip}"
    id="id1">
    <f:validator binding="#{bindings.trans_date.validator}"/>
    <af:convertDateTime pattern="#{bindings.trans_date.format}"/>
    </af:inputDate>
    <af:inputText value="#{bindings.agency.inputValue}" simple="true"
    required="#{bindings.agency.hints.mandatory}"
    columns="#{bindings.agency.hints.displayWidth}"
    maximumLength="#{bindings.agency.hints.precision}"
    shortDesc="#{bindings.agency.hints.tooltip}"
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.it2}"
    id="it2" visible="false">
    <f:validator binding="#{bindings.agency.validator}"/>
    </af:inputText>
    <af:commandButton actionListener="#{bindings.ExecuteWithParams.execute}"
    text="Search"
    disabled="#{!bindings.ExecuteWithParams.enabled}"
    id="cb5"
    returnListener="#{backingBeanScope.backing_Fragments_PawnSearch.refreshPage}"
    action="#{backingBeanScope.backing_Fragments_PawnSearch.RenderMe}">
    <af:setActionListener from="#{bindings.PawnItemView1Iterator.currentRowKeyString}"
    to="#{requestScope.pawnkey}"/>
    </af:commandButton>
    <af:spacer width="10" height="10"
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.s1}"
    id="s1"/>
    <af:goButton text="Clear Values and Create New" id="gb1"
    destination="index.jspx"
    rendered="#{backingBeanScope.backing_Fragments_PawnSearch.saveButtonRendered}"/>
    </af:panelGroupLayout>
    </af:panelBox>
    </f:facet>
    <f:facet name="second">
    <af:panelGroupLayout binding="#{backingBeanScope.backing_Fragments_PawnSearch.pgl4}"
    id="pgl4" layout="scroll" partialTriggers=""
    visible="true">
    <af:panelGroupLayout binding="#{backingBeanScope.backing_Fragments_PawnSearch.pgl6}"
    id="pgl6" inlineStyle="width:775px;"
    visible="#{backingBeanScope.backing_Fragments_PawnSearch.renderTF}">
    <af:region value="#{bindings.PawnEntryFormTF1.regionModel}"
    id="r1" inlineStyle="width:750px;"/>
    </af:panelGroupLayout>
    <af:panelGroupLayout binding="#{backingBeanScope.backing_Fragments_PawnSearch.pgl5}"
    id="pgl5" layout="horizontal"
    visible="#{backingBeanScope.backing_Fragments_PawnSearch.renderMessage}">
    <af:outputFormatted value="No #{bindings.agency.inputValue} Pawn data matching the Control Number and Transaction Date from above."
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.of1}"
    id="of1"
    inlineStyle="font-weight:bolder; font-size:small;"/>
    <af:spacer width="10" height="10"
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.s2}"
    id="s2"/>
    <af:goButton text="Clear Search and Start Again"
    binding="#{backingBeanScope.backing_Fragments_PawnSearch.gb2}"
    id="gb2" destination="index.jspx"/>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    </f:facet>
    </af:panelSplitter>
    </af:panelFormLayout>
    </af:panelHeader>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_Fragments_PawnSearch-->
    </jsp:root>

  • Org.xml.sax.SAXParseException: Document root element "taglib", must match D

    hi
    using tomcat 4
    and jdf1.5
    i am getting bellow error
    org.xml.sax.SAXParseException: Document root element "taglib", must match DOCTYPE root "null".

    Check your web.xml once again.

  • RegionRenderer encodeAll The region component with id: pt1:r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance.

    Hi,
    I am using JDEV 11.1.2.1.0
    I am getting the following error :-
    <RegionRenderer> <encodeAll> The region component with id: pt1:r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance. It is recommended that you restructure the page fragment to have a single root component.
    Piece of code is for region is:-
       <f:facet name="second">
                                                <af:panelStretchLayout id="pa1"
                                                                       binding="#{backingBeanScope.Assign.pa1}">
                                                    <f:facet name="center">
                                                        <af:region value="#{bindings.tfdAssignGraph1.regionModel}" id="r1"
                                                                   binding="#{backingBeanScope.Assign.r1}"/>
                                                    </f:facet>
                                                </af:panelStretchLayout>
                                            </f:facet>
    How do I resolve it ?
    Thanks,

    Hi,
    I see at least 3 errors
    1. <RegionRenderer> <encodeAll> The region component with id: pt1:r1 has detected a page fragment with multiple root components.
    the page fragment should only have a single component under the jsp:root tag. If you see more than one, wrap them in e.g. an af:panelGroupLayout or af:group component
    2. SAPFunction.jspx/.xml" has an invalid character ".".
    check the document (you can open it in JDeveloper if the customization was a seeded one. Seems that editing this file smething has gone bad
    3. The expression "#{bindings..regionModel}" (that was specified for the RegionModel "value" attribute of the region component with id "pePanel") evaluated to null.
    "pageeditorpanel" does seem to be missing in the PageDef file of the page holding the region
    Frank

  • Loading xml file with multiple rows

    I am loading data from xml files using xsl for transformation. I have created xsl's and loaded some of the data. In an xml file with multiple row, it's only loading one (the first) row. Any idea how I can get it to read and load all the records in the file???

    Could some please help me with the above. I desparately need to move forward.

  • CORE3282: stdout: org.xml.sax.SAXParseException: Document root element

    I got an application running on Sun ONE Web Server 6.1SP5, during the application start, I got the following message. The application can run without any problem. I would like to know if there is any solution to avoid the PARSE error? Thanks a lot.
    [01/Aug/2006:11:42:09] info (21921):      CORE1116: Sun ONE Web Server 6.1SP5 B08/18/2005 02:17
    [01/Aug/2006:11:42:09] info (21923):      CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.4.2_04] from [Sun Microsystems Inc.]
    [01/Aug/2006:11:42:09] info (21923):      WEB0100: Loading web module in virtual server [https-sunfire] at [myapp]
    [01/Aug/2006:11:42:09] info (21923):      WEB0100: Loading web module in virtual server [https-sunfire] at [search]
    [01/Aug/2006:11:42:13] info (21923):      CORE3282: stdout: PARSE error at line 6 column 19
    [01/Aug/2006:11:42:13] info (21923):      CORE3282: stdout: org.xml.sax.SAXParseException: Document root element "taglib", must match DOCTYPE root "null".
    [01/Aug/2006:11:42:13] info (21923):      WEB2798: [myapp] ServletContext.log(): Loading Spring root WebApplicationContext
    [01/Aug/2006:11:42:18] info (21923):      WEB2798: [myapp] ServletContext.log(): Loading WebApplicationContext for Spring FrameworkServlet 'action'
    [01/Aug/2006:11:42:18] info (21923):      HTTP3072: [LS ls1] http://sunfire:9999 ready to accept requests
    [01/Aug/2006:11:42:18] info (21923):      CORE3274: successful server startup

    That doesn't say much. Which is this xml file? and what have you given in the <!DOCTYPE > tag? Probably, that is the mistake...

  • Error in WebServices Consumption - There are multiple root elements

    hi,
    I am working on consuming webservice which has a WSDL to get the RouteDetails with a structure like:
    <Source>
    <HouseNumber>1</HouseNumber>
    <Street>XYZ</Street>
    <City>Hyderabad</City>
    <Country>India</Country>
    <PostalCode>500018</PostalCode>
    </Source>
    <Destination>
    <HouseNumber>2</HouseNumber>
    <Street>X1Y1Z1</Street>
    <City>Bangalore</City>
    <Country>India</Country>
    <PostalCode>500067</PostalCode>
    </Destination>
    When I am calling the method RouteDetails of the proxy I created, I am getting the error 'There are multiple root elements in line 1 column 178 and the column is indicating <HouseNumber> in <Destination> node.
    Please let me know how to overcome this.
    Thanks for the help
    Githa

    Its now resolved. Thanks,
    Githa

  • MDS Customization Problem with multiple root components

    Hello,
    Oracle JDeveloper 11.1.1.5.0 and WebLogic Server Version: 10.3.5.0
    I am using Oracle MDS Customization class with the following classes:
    oracle.adf.view.rich.change.MDSDocumentChangeManager
    org.apache.myfaces.trinidad.change.ChangeManager
    org.apache.myfaces.trinidad.change.MoveChildComponentChange
    Based on these classes I am moving UI components
    <af:panelStretchLayout>
    <f:facet name="center">
    <af:region />
    </f:facet>
    </af:panelStretchLayout>
    into another component thanks to the MDS.
    Once I do the movement and persist, I receive the following waning message:
    *<RegionRenderer> <encodeAll> The region component with id: pt1:r1:0:pt2:r1:0:r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance. It is recommended that you restructure the page fragment to have a single root component.*
    When I run the application in Oracle JDeveloper 11.1.1.5.0, it work fine, but when I deploy it on WebLogic Server Version: 10.3.5.0 it is not working.
    I receive the same warning message on the server and in JDeveloper.
    I think that MDS makes a copy of the components that I move because of that it says me that "a page fragment with multiple root components"
    The problem is not because of duplication any of the tags <af:document> <f:view><f:form> <html> <head> <body>
    After the movement and persistence, I also call the FacesContext to reset its view root with the following code:
    FacesContext context =FacesContext.getCurrentInstance();
    String currentView = context.getViewRoot().getViewId();
    ViewHandler vh = context.getApplication().getViewHandler();
    UIViewRoot x = vh.createView(context, currentView);
    x.setViewId(currentView);
    context.setViewRoot(x);
    The idea is that the entire JSF tree to be rebuild on entering page with aim to clear previously drag and drop settings.
    Do you know how I can overcome the problem on the server WebLogic Server Version: 10.3.5.0?
    This worked on Oracle JDeveloper 11.1.1.3.0 and now the problem is with Oracle JDeveloper 11.1.1.5.0.
    Regards,
    Niki

    Hi,
    what the error means is that you have more than one node under the jsp:root node of the fragment. Say the content of your fragment is
    <af:panelGroupLayout id="pgl1">
    </af:PanelGrouPLayout>
    Then this is okay
    if you have
    <af:panelGroupLayout id="pgl1">
    </af:PanelGrouPLayout>
    <af:panelGroupLayout id="pgl2">
    </af:PanelGrouPLayout>
    or
    <af:panelGroupLayout id="pgl1">
    </af:PanelGrouPLayout>
    <af:commandButton id="cb1"/>
    Then these mean duplicated root components. The JDeveloper IDE flags this as Warnings (Structure Window) when selecting the page fragment
    Frank

  • PCO 2.1 Error : there are multiple root elements Line 6, position 2

    HI all,
    I am getting an error while adding Destination for Notification.
    On the Destination Tab, I am able to create MII System as Destination. And expanding the newly created Destination, i can see a child node 'Destination'. While clicking on this child node, i am getting an error as "there are multiple root elements Line 6, position 2"
    Can anybody please help.
    Regards
    Muzammil

    Hi,
    While configuring MII Server details, instead of IP address of MII server, we gave domain name and it started working.
    Regards
    Muzammil

  • Read xml File with counter

    I have a question, but I posted it on the wrong forum. This is the link:
    https://social.msdn.microsoft.com/Forums/en-US/899c8291-70f5-4c1b-abf2-a1a1242e017a/read-xml-file-with-counter?forum=visualstudiogeneral&prof=required

    Hi,
    I have created a program that read an xml file like this:
    <xas>
    <information>
    <list>"12345"</list>
    <version>1.0.0.1</version>
    </information>
    <word><n>0</n><v>test123v</v><a>test123a</a></word>
    <word><n>1</n><v>testv</v><a>testa</a></word>
    </xas>
    I read it to a listview called listview1:
    The MainWindow.xaml:
    <Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="" Height="1220" Width="1017" WindowStartupLocation="Manual" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" UseLayoutRounding="False" WindowState="Maximized">
    <Grid>
    <ListView x:Name="ListView1" HorizontalAlignment="Left" Height="1220" VerticalAlignment="Top" Width="1017">
    <ListView.View>
    <GridView x:Name="Lijst">
    <GridViewColumn x:Name="Vraag" Header="Vraag" DisplayMemberBinding="{Binding Vraag}">
    </GridViewColumn>
    <GridViewColumn x:Name="Antwoord" Header="Antwoord" DisplayMemberBinding="{Binding Antwoord}">
    </GridViewColumn>
    </GridView>
    </ListView.View>
    </ListView>
    </Grid>
    </Window>
    And this is MainWindow.xaml.vb:
    Imports System.IO
    Imports System.Reflection.Assembly
    Imports System.Xml
    Imports System.Data
    Class MainWindow
    Dim VraagListBox As New ListBox
    Dim AntwoordListBox As New ListBox
    Dim Hoofdmap As String = GetExecutingAssembly().Location
    Dim Bestand As String
    Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
    'RUNNEN MAAR!!!!
    'Het bestand vinden in de commandline argumenten
    Dim args() As String = System.Environment.GetCommandLineArgs()
    Dim Teller As Integer = "0"
    For Each arg As String In args
    If Teller = "1" Then
    Bestand = arg
    Else
    Teller = Teller + "1"
    End If
    Next
    Bestand = "D:\Alles voor school!\Alles voor school!\Vakken\Stepping Stones\DATA1\Hoofdstuk 1\Leerlijsten\Hoofdstuk 1 Grammer 1.xas"
    'Welk bestand? Set de title
    Me.Title = Path.GetFileName(Bestand) & " - ListViewer (V.1.0.0.6)"
    If Bestand <> "" Then
    'Vragen en antwoorden toevoegen in de kolommen
    If Path.GetExtension(Bestand) = ".xas" Then
    Dim orderInfo = XElement.Load(Bestand)
    For Each entry As XElement In orderInfo...<word>
    Dim thisOrder As New Order
    With thisOrder
    .Vraag = entry...<v>.Value
    .Antwoord = entry...<a>.Value
    End With
    ListView1.Items.Add(thisOrder)
    Next
    'Virtuele vraaglistbox toevoegen = kolom Vraag van LisView1
    Dim orderInfoVraag = XElement.Load(Bestand)
    For Each entry As XElement In orderInfoVraag...<word>
    Dim thisOrderVraag As New VraagClass
    With thisOrderVraag
    .Vraag = entry...<v>.Value
    End With
    VraagListBox.Items.Add(thisOrderVraag)
    Next
    'Virtuele antwoordlistbox toevoegen = kolom Antwoord van LisView1
    Dim orderInfoAntwoord = XElement.Load(Bestand)
    For Each entry As XElement In orderInfoAntwoord...<word>
    Dim thisOrderAntwoord As New AntwoordClass
    With thisOrderAntwoord
    .Antwoord = entry...<a>.Value
    End With
    AntwoordListBox.Items.Add(thisOrderAntwoord)
    Next
    'Check wat er fout is aan het bestand, en geef een melding
    Else
    MessageBox.Show("Er is een verkeerde extentie geselecteerd, namelijk: " & Path.GetExtension(Bestand) & ".", "Verkeerde extentie - ListViewer", MessageBoxButton.OK, MessageBoxImage.Error)
    Me.Close()
    End If
    Else
    If Bestand = "" Then
    MessageBox.Show("Je hebt geen bestand geselecteerd", "Geen bestand geselecteerd - ListViewer", MessageBoxButton.OK, MessageBoxImage.Error)
    Me.Close()
    Else
    MessageBox.Show("Er is iets misgegaan met het laden van het bestand, probeer het later opnieuw", "Onbekende error - ListViewer", MessageBoxButton.OK, MessageBoxImage.Error)
    Me.Close()
    End If
    End If
    End Sub
    Private Sub ListView1_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles ListView1.MouseDoubleClick
    Directory.CreateDirectory(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\" & Path.GetFileName(Bestand))
    Dim SchrijfVraag As New StreamWriter(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\Word.txt")
    Dim SchrijfFile As New StreamWriter(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\File.txt")
    SchrijfVraag.WriteLine(ListView1.SelectedIndex)
    SchrijfFile.WriteLine(Bestand)
    SchrijfVraag.Close()
    SchrijfFile.Close()
    Dim WoordenScherm As ViewWord
    WoordenScherm = New ViewWord()
    WoordenScherm.ShowDialog()
    End Sub
    End Class
    ViewWord.xaml is:
    <Window x:Class="ViewWord"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ViewWord" Height="155" Width="1017" ResizeMode="NoResize" SizeToContent="WidthAndHeight" Topmost="True" WindowStartupLocation="CenterScreen">
    <Grid>
    <Label x:Name="VraagLabel" Content="Vraag:" HorizontalAlignment="Left" Margin="23,11,0,0" VerticalAlignment="Top" Width="106"/>
    <TextBox x:Name="VraagTextBox" HorizontalAlignment="Left" Height="24" Margin="134,13,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="743" />
    <Label x:Name="AntwoordLabel" Content="Antwoord:" HorizontalAlignment="Left" Margin="23,42,0,0" VerticalAlignment="Top" Width="106"/>
    <TextBox x:Name="AntwoordTextBox" HorizontalAlignment="Left" Height="24" Margin="134,44,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="743"/>
    <Button x:Name="VraagAanpassenButton" Content="Aanpassen" HorizontalAlignment="Left" Margin="882,15,0,0" VerticalAlignment="Top" Width="107"/>
    <Button x:Name="AntwoordAanpassenButton" Content="Aanpassen" HorizontalAlignment="Left" Margin="882,44,0,0" VerticalAlignment="Top" Width="107"/>
    <Label x:Name="VraagNummerLabel" Content="Vraagnummer:" HorizontalAlignment="Left" Margin="23,72,0,0" VerticalAlignment="Top" Width="106"/>
    <TextBox x:Name="VraagNummerTextBox" HorizontalAlignment="Left" Height="24" Margin="134,74,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="743"/>
    <Button x:Name="VraagNummerAanpassenButton" Content="Aanpassen" HorizontalAlignment="Left" Margin="882,74,0,0" VerticalAlignment="Top" Width="107"/>
    </Grid>
    </Window>
    In VraagTextBox must come the entry <word><v>test123v</v></word>, in AntwoordTextBox must come the entry <word><a>test123a</a></word>, and in VraagNummerTextBox must come the entry <word><n>0</n></word>
    This is the code to fix that (ViewWord.xaml.vb):
    Imports System.IO
    Public Class ViewWord
    Private Structure AntwoordVraag
    Public Vraag As String
    Public Antwoord As String
    End Structure
    Private Sub ViewWord_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
    End Sub
    Private Sub AntwoordAanpassenButton_Click(sender As Object, e As RoutedEventArgs) Handles AntwoordAanpassenButton.Click
    Dim Vraagnummer As String
    Dim Bestandsnaam As String
    Dim LeesVraag As New StreamReader(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\Word.txt")
    Dim LeesFile As New StreamReader(Path.GetTempPath & "110% Soft\ListViewer 1.0.0.6\File.txt")
    Vraagnummer = LeesVraag.ReadLine()
    Bestandsnaam = LeesFile.ReadLine()
    LeesVraag.Close()
    LeesFile.Close()
    MessageBox.Show(Vraagnummer)
    Dim teller As Integer = 0
    Dim orderInfo = XElement.Load(Bestandsnaam)
    If teller = Vraagnummer Then
    VraagNummerTextBox.Text = orderInfo...<word>...<n>.Value
    VraagTextBox.Text = orderInfo...<word>...<v>.Value
    AntwoordTextBox.Text = orderInfo...<word>...<a>.Value
    Else
    teller = teller + 1
    End If
    End Sub
    End Class
    But the result isn't:
    VraagTextBox.Text = testv
    AntwoordTextBox.Text = testa
    NummerTextBox.Text = 1 
    if i click on the number 2 of the listview (index = 1)
    How can i fix it?

  • XML output with multiple tags in one line

    I have not done much XML exporting with SQL. Previously I had just been ending my SQL queries with
    FOR XML RAW ('Company'), ROOT ('Companies'), ELEMENTS;
    and it formatted my query nicely in an XML output. That put every column name as a tag and the cell data within the tag.
    However, now the criteria has changed on me. I need to create a tag with multiple sub tags in it.
    Example: <Location Floor="10" Suite="512" DoorType="Metal">
    But I'll still need other tags to be normal in the XML output such as
    <Address>123 Fake St</Address>
    <City>Springfield</City>
    <Location Floor="10" Suite="512" DoorType="Metal">
    Is there any way to get this XML mixed in the output like above?
    Thank you for any help. 

    Hi, you can FOR XML PATH for a finer degree of control over your XML.  Use the @ symbol to create attributes.  Here's a simple example:
    DECLARE @t TABLE ( rowId INT IDENTITY PRIMARY KEY, [address] VARCHAR(50), city VARCHAR(30), floor INT, suite INT, doorType VARCHAR(20) )
    INSERT INTO @t VALUES
    ( '123 Fake St', 'Springfield', 10, 512, 'Metal' )
    SELECT
    [address] AS "Address",
    city AS City,
    [floor] AS "Location/@Floor",
    suite AS "Location/@Suite",
    doorType AS "Location/@DoorType"
    FROM @t
    FOR XML PATH ('Company'), ROOT ('Companies'), ELEMENTS;

  • XML gateway with multiple XML structures??

    Hi,
    I have a requirement to import data using XML gateway with different XML structures. Third party system sometimes will not provide certain tags itself if there is no data for the tag like contacts in below sample xmls. In that case we need to ignore those tags (CONTACTS in below sample). As per my understanding, we must have tag in XML though it may not have any value.
    We have 2 XMLs
    XML1 for supplier with contacts
    <SUPPLIER>
    <NAMES>
    <NAME1>XYZ </NAME1>
    <NAME2>ABC</NAME2>
    </NAMES>
    <SITE>
    <SITE1>XYZ </SITE1>
    <SITE2>ABC</SITE2>
    </SITE>
    <CONTACT>
    <CONTACT1>XYZ </CONTACT1>
    <CONTACT2>ABC</CONTACT2>
    </CONTACT>
    </SUPPLIER>
    XML2 for supplier without contacts
    XML1
    <SUPPLIER>
    <NAMES>
    <NAME1>XYZ1 </NAME1>
    <NAME2>ABC1</NAME2>
    </NAMES>
    <SITE>
    <SITE1>XYZ1 </SITE1>
    <SITE2>ABC1</SITE2>
    </SITE>
    </SUPPLIER>
    Can we upload data in both these xmls using only one generic dtd and xgm using XML gateway which will skip any missing tag.
    Thanks
    Rishi

    Hi, you can FOR XML PATH for a finer degree of control over your XML.  Use the @ symbol to create attributes.  Here's a simple example:
    DECLARE @t TABLE ( rowId INT IDENTITY PRIMARY KEY, [address] VARCHAR(50), city VARCHAR(30), floor INT, suite INT, doorType VARCHAR(20) )
    INSERT INTO @t VALUES
    ( '123 Fake St', 'Springfield', 10, 512, 'Metal' )
    SELECT
    [address] AS "Address",
    city AS City,
    [floor] AS "Location/@Floor",
    suite AS "Location/@Suite",
    doorType AS "Location/@DoorType"
    FROM @t
    FOR XML PATH ('Company'), ROOT ('Companies'), ELEMENTS;

  • XML file with multiple records

    I have an XML data file that will look something like this (repeated possibly several hundred times):
    <?xml version='1.0' encoding='utf-8'?>
    <A><V>Wake up to WonderWidgets!</V>
    <C>Why are great</C>
    </A>
    <?xml version='1.0' encoding='utf-8'?>
    <A>Eric</A>
    When I try to parse the code using the Echo03.java sample from the website, I get the following error: END_ELM: </>org.xml.sax.SAXParseException: XML declaration may only begin entities.
         at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3339)
         at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3327)
         at org.apache.crimson.parser.Parser2.maybePI(Parser2.java:1107)
         at org.apache.crimson.parser.Parser2.maybeMisc(Parser2.java:1233)
         at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:638)
         at org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
         at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:281)
         at Echo03.main(Echo03.java:60)
    Is there any way (short of actually reading the file and looking for the beginning of each record) that I can get the parser to do multiple stard and end documents or at least get it to read and parse all the entries in the file?
    Thanks

    Yout file should look something like this: <
    ?xml version='1.0' encoding='utf-8'?>
    <start>
    <A><V>Wake up to WonderWidgets!</V>
    <C>Why are great</C>
    </A>
    <A>Eric</A>
    </start>
    you can only have one root element ( e.g. <start> )

Maybe you are looking for