Read from context to sub node

hi,
how do i get to read a subnode  from context dynamically?
Regards,
Ronita

Hi Ronita,
Assume that your node structer is as below.
Context
|__Node1
     |__Sub_Node
lr_node = wd_context->get_child_node( name = if_<view_name>=>wdctx_node1 ).
lr_node = lr_node ->get_child_node( name = if_<view_name>=>wdctx_Sub_Node ).
Now lr_node holds the referenc to Sub_Node
Regards,
Sravan varagani

Similar Messages

  • Parsing sub nodes

    My Xml file structure is like this.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <Commands>
            <Command>
                    <Name>print</CommandName>
                    <File>print.pbx</CommandFile>
                    <Table>print</CommandTable>
                    <Parser>SingleLine</CommandParser>
                    <Parseable>true</CommandParseable>
                    <Fields>6</CommandFields>
                    <CommandRegexs>
                            <CommandRegex>(?<=;10H)(.*)(?=[\\x5B]\\d*\\d*\\d*;33H)</CommandRegex>
                            <CommandRegex>(?<=;33H)(.*)(?=[\\x5B]\\d*\\d*\\d*;40H)</CommandRegex>
                            <CommandRegex>(?<=;40H)(.*)(?=[\\x5B]\\d*\\d*\\d*;47H)</CommandRegex>
                            <CommandRegex>(?<=;47H)(.*)(?=[\\x5B]\\d*\\d*\\d*;56H)</CommandRegex>
                            <CommandRegex>(?<=;56H)(.*)(?=[\\x5B]\\d*\\d*\\d*;67H)</CommandRegex>
                            <CommandRegex>(?<=;67H)(.*)</CommandRegex>
                    </CommandRegexs>
            </Command>
    </Commands>Everything reads from all of the nodes except when i get to the CommandRegex's node. It returns 1 as its length and only returns the first element when i try to parse it. I am using this to parse the elements.
                        //Command Regex - Start
                        NodeList listOfRegex = CommandElement.getElementsByTagName("CommandRegexs");
                        int totalRegex = listOfRegex.getLength();
                        System.out.println("Total no of regex's : " + totalRegex);
                        for(int r = 0; r < totalRegex; r++)
                            Node regexNode = listOfRegex.item(s);
                            if(CommandNode.getNodeType() == Node.ELEMENT_NODE)
                                Element regexElement = (Element)regexNode;
                                NodeList regexList = regexElement.getElementsByTagName("CommandRegex");
                                Element firstregexElement = (Element)regexList.item(0);
                                NodeList textRegexList = firstregexElement.getChildNodes();
                                System.out.println("regex : " + ((Node)textRegexList.item(0)).getNodeValue().trim());
                                String tmpCommandRegs = ((Node)textRegexList.item(0)).getNodeValue().trim();
                                regs.add(tmpCommandRegs);
                        jListCommand.setRegex(regs);
                        //Command regex - EndCommandElement Would be the Command tag. Now my problem is i cannot seem to get the full sub node of Regexs to load. If anyone can give any tips on how i can get this to parse correctly it would rock.
    Thanks,
    Hammackj

    Total length() returns 1, it should be returning 6.There is only one CommandRegexs element. That's why it returns 1.
    I have no idea why it only reads the first elem, and skips the rest.Because that's what your program does. It has a loop to iterate over the CommandRegexs elements, of which there is only one, but it doesn't have a loop to iterate over the CommandRegex elements, of which there are 6. Instead it specifically gets only the first of them; note all the instances of "item(0)" in that part of the program.

  • How to read the context node of used component?

    Hi,
    I have component called : SRQM_INCIDENT_H. This component has used component - BTSTATUS.
    Now, I need to read the context node of the BTSTATUS/UserStatus in GET Methods of Context node in SRQM_INCIDENT_H.
    Can you plese help me out.
    Thanks,
    Sandeep

    The component usages can be accessed from the component controller
    You should however assure that the context node is present in comp controlelr of the used component.View context nodes cannot be accessed.
    if not ,then you need to goto the component BTSTATUS ,add the context node  explicitly to comp controller,and do correct bindings to the view context node.
    Once you add the context node to the com controller,yo also need to expose it.
    go to runtime repository->component_interface->interface_controller->context->right click and select ADD CONTEXT NODE, and add you newly creatde context ndoe of comp contorller here.
    Now you cann access it using the code below in your comp SRQM_INCIDENT_H
    data:lr_comp_controller type ref to <ur comp controller class>lr_comp_controller ?= me->comp_controller.
        lr_comp_usage ?= lr_comp_controller->get_component_usage( iv_usage_name = '<name of the comp usage as in runtime repository' ).
        CHECK lr_comp_usage IS NOT INITIAL.
        lr_cnode ?= lr_comp_usage->get_context_node( iv_cnode_name = '<the required context node name>' ).
    Suvidha

  • Reading the Context Node in the same Component

    Dear Gurus,
    I have made enhancement to standard view and functionality is working fine.
    Now i need to read the different context node (Different view) from the same component.
    I try to do the way Webdynrpo read the context node  but here there is Wizard and i stucked :-(.
    Can you plz suggest or post small code to read context node.
    Regards.
    ****Poorna****

    Hi,
    If those two views are assinged to one viewset in runtime repositoty, you can read the secod view by following code:
    lv_viewname = me->get_viewarea_content( 'Upper' ).      " here(me =view1)                               
      IF lv_viewname IS NOT INITIAL.
        lr_viewctrl = me->get_subcontroller_by_viewname( lv_viewname ).
        IF lr_viewctrl IS BOUND.
    from here you can read the context nodes.
    Regards,
    S Reddy

  • How to Create Instances in the Transient Root Node and Sub Nodes from Root Node Query Method ?

    Hi All,
    I am Creating a BOPF BO with 3 Nodes,
    Node 1) ROOT -- > contains a query,
    using Root Node I have created Search UIBB Configuration in FBI.
    In testing -- > when i enter Data in the Search Criteria Fields am able to get the details in to the query method
    from Imporing parameter : 'IT_SELECTION_PARAMETERS'.
    HERE I am fetching data from a standard table and trying to fill the data in the Node : 'MNR_SEARCH_RESULT'.
    How to Append data to the Sub node 'MNR_SEARCH_RESULT' when there is no Node instance created in the ROOT Node ?
    For This  I have created an instance in the ROOT Node and Using that I tried to create Instance in the Sub Node 'MNR_SEARCH_RESULT'.
    Below is my code which i have placed in the Query method ..
    DATA : LR_DATA TYPE REF TO ZBO_S_ROOT1.
    DATA : LR_SEARCH_RES TYPE REF TO ZBO_S_MNR_SEARCH_RESULT.
    DATA : LO_CI_SERVICE_MANAGER TYPE REF TO /BOBF/IF_TRA_SERVICE_MANAGER,
            LO_TRANSACTION_MANAGER TYPE REF TO /BOBF/IF_TRA_TRANSACTION_MGR.
       LO_CI_SERVICE_MANAGER = /BOBF/CL_TRA_SERV_MGR_FACTORY=>GET_SERVICE_MANAGER( IV_BO_KEY = ZIF_BO_TEST_PO_C=>SC_BO_KEY ).
       LO_TRANSACTION_MANAGER = /BOBF/CL_TRA_TRANS_MGR_FACTORY=>GET_TRANSACTION_MANAGER( ).
    CREATE DATA LR_DATA.
    LR_DATA->KEY = LO_CI_SERVICE_MANAGER->GET_NEW_KEY( ).
    LR_DATA->ROOT_KEY   = IS_CTX-ROOT_NODE_KEY.
    LR_DATA->PIPO_MAT_ID = '100100'.
    LR_DATA->PIPO_MAT_DESC = 'MATERIAL'.
    LR_DATA->PIPO_SPRAS = 'E'.
    LR_DATA->PIPO_MATL_TYPE = 'ZPMI'.
    LR_DATA->PIPO_MATL_GROUP = 'ZKK'.
         DATA lt_mod      TYPE /bobf/t_frw_modification.
         DATA lo_change   TYPE REF TO /bobf/if_tra_change.
         DATA lo_message  TYPE REF TO /bobf/if_frw_message.
         FIELD-SYMBOLS: <ls_mod> LIKE LINE OF lt_mod.
        APPEND INITIAL LINE TO lt_mod ASSIGNING <ls_mod> .
        <ls_mod>-node        =   ZIF_BO_TEST_PO_C=>sc_node-ROOT.
        <ls_mod>-change_mode = /bobf/if_frw_c=>sc_modify_create.
        <ls_mod>-key         = LR_DATA->KEY.
        <ls_mod>-data        = LR_DATA.
    DATA : LT_CHG_FIELDS TYPE /BOBF/T_FRW_NAME.
    DATA : LS_CHG_FIELDS LIKE LINE OF LT_CHG_FIELDS.
    DATA : LV_KEY TYPE /BOBF/CONF_KEY.
    CALL METHOD IO_MODIFY->CREATE
       EXPORTING
         IV_NODE            = ZIF_BO_TEST_PO_C=>sc_node-ROOT
         IV_KEY             = LR_DATA->KEY
         IS_DATA            = LR_DATA
         IV_ROOT_KEY        = IS_CTX-ROOT_NODE_KEY
       IMPORTING
         EV_KEY             = LV_KEY .
    CREATE DATA LR_SEARCH_RES.
    LR_SEARCH_RES->KEY           = LO_CI_SERVICE_MANAGER->GET_NEW_KEY( )..
    LR_SEARCH_RES->PARENT_KEY    = LV_KEY.
    LR_SEARCH_RES->ROOT_KEY    = LV_KEY.
    LR_SEARCH_RES->MATNR    = '123'.
    LR_SEARCH_RES->ERSDA    = SY-DATUM.
    LR_SEARCH_RES->ERNAM    = SY-UNAME.
    **LR_SEARCH_RES->LAEDA    = .
    **LR_SEARCH_RES->AENAM    = .
    **LR_SEARCH_RES->VPSTA    = .
    *LR_SEARCH_RES->LVORM    = .
    LR_SEARCH_RES->MTART    = 'ZPI'.
    LR_SEARCH_RES->MBRSH    = 'ZTP' .
    LR_SEARCH_RES->MATKL    = 'MAT'.
    **LR_SEARCH_RES->BISMT    = ''
    **LR_SEARCH_RES->MEINS    =
    CALL METHOD io_modify->create
               EXPORTING
                 iv_node            = ZIF_BO_TEST_PO_C=>sc_node-MNR_SEARCH_RESULT
                 is_data            = LR_SEARCH_RES
                 iv_assoc_key       = ZIF_BO_TEST_PO_C=>sc_association-root-MNR_SEARCH_RESULT
                 iv_source_node_key = ZIF_BO_TEST_PO_C=>sc_node-root
                 iv_source_key      = LV_KEY
                 iv_root_key        = LV_KEY.
    I am Unable to set data to the Node . I did not get any error message or Dump while executing . when i tried to retrive data I got the details from the node but am unable to view those details in the FBI UI and BOBT UI while testing .
    Please provide your valuable Suggestions.
    Thanks in Adv.
    Thanks ,
    Kranthi Kumar M.

    Hi Kranthi,
    For your requirement you need only two nodes. Root Node and Result node. Use the same structure for both.
    To create Instance while search.
    Create Query method with input type which has the required fields for selection criteria.
    Fetch the data and create instance in the root node.
    Pass the new instance key as exporting parameter form Query Method.
    To Move data from ROOT to Result.
    Create a action at root node.
    Write a code to create new entries in Result node.
    Then configure the Search UIBB and display result in List UIBB. Add button and assign the action MOVE_MAT_2_RESULT.
    Create another List uibb to display data from Result node.
    Connect the UIBBs using wire schema. SEARCH -> LIST(ROOT) ---> LIST(RESULT).
    Give src node association for ROOT to RESULT Configuration.
    Regards,
    Sunil

  • Call failed. Error: An unexpected 'PrimitiveValue' node was found when reading from the JSON reader. A 'StartObject' node was expected.

    Hi All,
    I am trying to add a new task to a Tasks list called CATasks. The list was created via Visual Studio “Add > New Item > List” process and not by custom code. The code I am using to add a task is shown below.
    What I have noticed is if I use my code to add a Task to a Task List created by Visual studio “Add > New Item > List” process, I get an error. Error message when adding an item:
    Call failed. Error: An unexpected 'PrimitiveValue' node was found when reading from the JSON reader. A 'StartObject' node was expected.
    But if I create the same list using custom code I don't get an error.
    Am I missing something in my custom code or is this a bug?
    I hope you can help.
    CEStar
    App.js Code:
    function createItem() {
    var call = jQuery.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/?$select=Title,CurrentUser/Id&$expand=CurrentUser/Id",
    type: "GET",
    dataType: "json",
    headers: {
    Accept: "application/json;odata=verbose"
    call.done(function (data, textStatus, jqXHR) {
    var userId = data.d.CurrentUser.Id;
    addItem(userId);
    call.fail(function (jqXHR, textStatus, errorThrown) {
    failHandler(jqXHR, textStatus, errorThrown);
    function addItem(userId) {
    var due =
    new Date();
    due.setDate(due.getDate() + 7);
    var call = jQuery.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/getByTitle('CATasks')/Items",
    type: "POST",
    data: JSON.stringify({
    "__metadata": { type:
    "SP.Data.CATasksListItem" },
    Title: "Sample Task",
    AssignedToId: userId,
    DueDate: due
    headers: {
    Accept: "application/json;odata=verbose",
    "Content-Type":
    "application/json;odata=verbose",
    "X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
    call.done(function (data, textStatus, jqXHR) {
    var div = jQuery("#message");
    div.text("Item added");
    call.fail(function (jqXHR, textStatus, errorThrown) {
    failHandler(jqXHR, textStatus, errorThrown);
    function failHandler(jqXHR, textStatus, errorThrown) {
    var response = JSON.parse(jqXHR.responseText);
    var message = response ? response.error.message.value : textStatus;
    alert("Call failed. Error: " + message);
    Create List Custom Code:
    function createList() {
    var call = jQuery.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists",
    type: "POST",
    data: JSON.stringify({
    "__metadata": { type:
    "SP.List" },
    BaseTemplate: SP.ListTemplateType.tasks,
    Title: "CATasks"
    headers: {
    Accept: "application/json;odata=verbose",
    "Content-Type":
    "application/json;odata=verbose",
    "X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
    call.done(function (data, textStatus, jqXHR) {
    var message = jQuery("#message");
    message.text("List added");
    call.fail(function (jqXHR, textStatus, errorThrown) {
    var response = JSON.parse(jqXHR.responseText);
    var message = response ? response.error.message.value : textStatus;
    alert("Call failed. Error: " + message);

    Hi,
    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
    Thanks 
    Patrick Liang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Patrick Liang
    TechNet Community Support

  • Concurrent nodes reading from JMS topic (cluster environment)

    Hi.
    Need some help on this:
    Concurrent nodes reading from JMS topic (cluster environment)
    Thanks
    Denis

    After some thinking, I noted the following:
    1 - It's correct that only one node subscribes to a topic at a time. Otherwise, the same message would be processed by the nodes many times.
    2 - In order to solve the load balancing problem, I think that the Topic should be changed by a Queue. This way, each BPEL process from the node would poll for a message, and as soon as the message arrives, only one BPEL node gets the message and take if off the Queue.
    The legacy JMS provider I mentioned in the post above is actually the Retek Integration Bus (RIB). I'm integrating Retek apps with E-Business Suite.
    I'll try to configure the RIB to provide both a Topic (for the existing application consumers) and a Queue (an exclusive channel for BPEL)
    Do you guys have already tried to do an integration like this??
    Thanks
    Denis

  • Hiding Context Element without removing them from Context Node

    Hi,
    my application uses an ALV table. I'm implementing Complex Filter that are used to hide some rows that match certain conditions, like the regular filter in ALV does. At the end, I want to save all rows, even the hidden ones. It would be simpler for me to keep all elements in my context, but just to set an attribute to hide the element. Is there a way to do it or I have to remove the element from context and put it aside in a temporary buffer?
    Thanks
    Davy

    Hi ,
    Get the column reference of the alv and loop the alv columns ...get the column which you want to hide and use the method
    CALL METHOD lr_column->set_visible
            EXPORTING
              value = cl_wd_uielement=>e_visible-none.
    Regards,
    Shailaja Ainala.

  • From where does exachk reads the list of stoage nodes that should be checked ?

    exachk automatic tries to check a storage node thats closed. From where does exachk reads the list of stoage nodes that should be checked ?

    Great! you found it and thanks for sharing the location. 
    Did you find it thought script or Google? 

  • How to set a attribute value of a sub node binded to a table.. pls respond.

    Hi friends,
    I have context defined like this.
         Head_node ( table 1)
              Item_node ( table 2, sub node ).  ( now this im saving in global internal table).
    so now when i hit save button, im passing my internal table (it has col1- sales order no, col2 item details(table type, which can have more than one record) to a FM, to create sales order.
    My sales order is getting saved.
    But the function module will return some new values (like sales order number, item number etc).
    Now i want these values to be updated in my context.
    Meaning whenever after that i do get_attribute, i should get these new (sales order no, item no ) also.
    I dont know how to set the context values of sub nodes , so im missing these values.
    kindly respond back to me..
    thanks in advance,
    Niraja

    Its very simple.
    Follow these steps. e.g you want to get the new sales order number. Define a attribute in ur node (or set of attributes in ur case as per reqruirement) say new_so_number.
    Check your FM, if its returning new_so_number then it's fine, otherwise you have to change the FM to return the new_so_number or you have to get from db table somehow, which best suites your req.
    So once you have new_so_number after calling the FM, say in lv_new_so_number field. Then write this code to set the attribute (change the variables as per your context attributes)
    DATA lo_nd_head TYPE REF TO if_wd_context_node.
      DATA lo_el_head TYPE REF TO if_wd_context_element.
      DATA ls_head TYPE wd_this->element_head.
      DATA lv_new_so_number LIKE ls_head-new_so_number.
    * navigate from <CONTEXT> to <HEAD> via lead selection
      lo_nd_head = wd_context->get_child_node( name = wd_this->wdctx_head ).
    * get element via lead selection
      lo_el_head = lo_nd_head->get_element(  ).
    lv_new_so_number = new_so_number. " (You got this as a exporting parameter of FM etc..)
    * get single attribute
      lo_el_head->set_attribute(
        EXPORTING
          name =  `NEW_SO_NUMBER`
          value = lv_new_so_number ).
    Hope it works.

  • Navigate to a "sub node"

    Hi Web-Dynpro experts,
    I have an easy question for you:
    How can i navigate to a "sub node" of the context?
    Example:
    context -> folder -> file
    Navigation to "folder":
    * navigation via lead selection
      NODE_INPUT = WD_CONTEXT->GET_CHILD_NODE( NAME = IF_VIEW=>WDCTX_FOLDER).
    * get element via lead selection
      ELEM_INPUT = NODE_INPUT->GET_ELEMENT( ).
    But how can i navigate to the sub node "file" ?
    Many thanks in advance!
    Regards,
    Ludwig

    Hi,
    for that you can use code wizard.
    Check this auto genareted code.
    Here node name is "Details" and sub node name is "changes".
    Attribute name is old_value_string.
    DATA:
        node_changes                        TYPE REF TO if_wd_context_node,
        node_details                        TYPE REF TO if_wd_context_node,
        elem_details                        TYPE REF TO if_wd_context_element,
        stru_details                        TYPE if_userlog=>element_details ,
        item_old_value_string               LIKE stru_details-old_value_string.
    * navigate from <CONTEXT> to <CHANGES> via lead selection
      node_changes = wd_context->get_child_node( name = if_userlog=>wdctx_changes ).
    * @TODO handle not set lead selection
      IF ( node_changes IS INITIAL ).
      ENDIF.
    * navigate from <CHANGES> to <DETAILS> via lead selection
      node_details = node_changes->get_child_node( name = if_userlog=>wdctx_details ).
    * alternative navigation via index
    * Node_Details = Node_Changes->get_Child_Node(
    *   Name = `DETAILS` Index = 1 ).
    * @TODO handle non existant child
    * if ( Node_Details is initial ).
    * endif.
    * get element via lead selection
      elem_details = node_details->get_element(  ).
    * get single attribute
      elem_details->get_attribute(
        EXPORTING
          name =  `OLD_VALUE_STRING`
        IMPORTING
          value = item_old_value_string ).
    Thanks.

  • Mapping and creating new instances of a node and its sub-nodes

    hi,
    i need to map every 3 items from source interface to 1 in target interface.
    i have on target interface parent node which is called 'item' and occurs 0..unbounded (and other sub-nodes).
    this node have a sub-node which is called 'item_data' and occurs 0..3.
    i created a mapping:
    source_item ->counter->checking mod 3--->if   
    """""""""""""""""""""""""""""" source_item  -
    > then -
    >item.
    when i test mapping with 1-3 source_item the sub-nodes 'item_data' are created,
    but when i try 4-5 and more , 'item' node is created  twice but the second instance has no sub-nodes of
    'item_data' (it has other sub-nodes).
    can someone tell me how to solve my problem?
    thanks in advance.
    Tomer

    I would like to be clear about the requirement first,
    Source                              Target
    item           -
    >             item
       item_data     -
    >               Item_data
    item           -
    >            
       item_data     -
    >               irem_data
    item           -
    >            
       item_data     -
    >               item_data
    item           -
    >             item
       item_data     -
    >               item_data
    item           -
    >            
       item_data     -
    >               item_data
    item           -
    >            
       item_data     -
    >               item_data
    for the mapping of item node the queue should look like:
    contextchange
    Then for the mapping of item_data the queue should look like:
    item_data
    item_data
    item_data
    context change
    item_data
    item_data
    item_data
    I guess you have used some udf for the target parent node (item) mapping. I am trying myself to generate the queue for item_data using standard functions, but yet to come up with the desired result. If achieved will let you know..................for now it seems that writing a UDF (queue) would be the best approach.
    iterate through the input queue array (source item_data values all in same context using RemoveContext) and insert a ResultList.CC after every third element in the array.
    Hope you can come out easily with the java for this logic. Let me know if it's helpful.
    Regards,
    Suddha

  • Mapping one node in a view context to many nodes in the component controlle

    Hi guys,
    I need to map an element (attribute) of a node in the View Context to an attribute of multi nodes of the same type:
    Context View:
    customer_no
          |
          | -> KUNNR
    Component Controller Context having two nodes:
      - Node1
         RFC1
            |
            |->KUNNR
      - Node2
          RFC2
             |
             |->KUNNR
    Above I need to map the (KUNNR) in customer_no node to KUNNR in the RFC1 RFC2 before i execute the two RFCs services.
    Note:
    if this is not possible would you mention another solution.
    Thanks,

    Hi,
       As per MVC you cannot map context from view controller to component controller.Mapping can happen from component
    controller to view controller.
    You cannot create mapping for context attributes. You can map nodes if both source node and destination node both has same structure and same number of attributes. If they dont contain same number of attributes the extra attributes from the source node gets copied to the destination node.
    In your case before the RFC execution you can read the value of attribute Kunnr from view and set it the RFC attribute Kunnr before the Function module execution.
    Regards
    Bala Baskaran.S

  • How to read the content in one node of XML in Java? Pls help

    My dear brothers,
    I am a newbie of XML, I have a exercise which is creating a Tree View from XML file. But the trouble is I do not know how to read the content in one node of XML file. I decide to use the algorithm as following:
    1. Create a GUI form which gives the ability for user to choose a XML file (ok)
    2. Load XML and return the file (ok)
    3. Read the file from node to node to create the node in Tree View (?!)
    Please help me, and if you are enough kind, please give me an small example to easy understand. Thanks in advance.
    Hoang Yen Binh

    I hope this one helps you.
         <ABC Type="ProductBased" ProdName="One" Location="India">
              <CEO>Raj</CEO>
              <Finance>Vikram</Finance>
              <HR>Karthik</HR>
              <Technical>Satish</Technical>
         </ABC>
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NamedNodeMap;
    import org.w3c.dom.Attr;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Node;
    import org.w3c.dom.DOMException;
    import javax.xml.parsers.ParserConfigurationException;
    import org.xml.sax.SAXException;
    import java.io.File;
    import java.io.IOException;
    public class XmlReading {
         Document doc;
         Element element;
         public static void main(String[] args) throws Exception{
              XmlReading xr = new XmlReading();
              xr.getXmlParser(args);
         public void getXmlParser(String[] args) {
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                   if(args.length != 1) {
                        System.err.println("Argument Required");
              try {
                   DocumentBuilder builder = factory.newDocumentBuilder();
                   doc = builder.parse(new File(args[0]));
              }catch(ParserConfigurationException e1) {
              }catch(SAXException e2) {
              }catch(IOException e3) {
              getAttributes();
         public void getAttributes() {
              // Retrive the entire Document from the Dom Tree
              element = doc.getDocumentElement();
    //          System.out.println(element);
              NamedNodeMap attrs = element.getAttributes();
              // Get number of attributes in the element
         int numAttrs = attrs.getLength();
         // Process each attribute
              for (int i=0; i<numAttrs; i++) {
                   Node node = attrs.item(i);
                   // Get attribute name and value
                   String attrName = node.getNodeName();
                   String attrValue = node.getNodeValue();
                   System.out.println(attrName + ": " + attrValue);
              String s1 = element.getTagName();
              System.out.println(s1);
              // To get all the elements in a DOM Tree
              NodeList nl1 = element.getElementsByTagName("*");
              int i2 = nl1.getLength();
              System.out.println(i2);
              for(int i=0; i<i2; i++) {
                   System.out.println(nl1.item(i) + "\n");
    }

  • How to open saved files using 'read from text file' function

    Hi everyone, I am having a hard time trying to solve the this particular problem ( probably because I am a newb to lanbview ). Anyway , I am able to save the acquired waveforms by using the 'Write to text file' icon. I did manually modify the block diagram of the 'Write to text file' icon and create the correct number of connector so as to make my program work. But now I have no idea on how to modify the block diagram of the 'Read from text file' block diagram to make my program 'open' my saved waveforms. Or i do not have to modify anything from the block diagram of the 'Read from text file'? Can anyone teach/help me connect up? Do i need the build array on the "open" page?
    Here are some screenshots on part of my program  
    let me know if you guys would need more information / screenshots thank you!
    Attachments:
    ss_save.jpg ‏94 KB
    ss_open.jpg ‏94 KB
    modified_writetotextfile.jpg ‏99 KB

    Ohmy, thanks altenbach. oh yeah i forgot about those sub VIs. will upload them now. Was rather demoralized after reading the comments and really struck me on how weak i'm at on labview really hope to get this done. But of course i have to study through and see how it works. Actually i am going to replace those 'signal generators sub vi' with ThoughtTechonology's sample code so i can obtain data waveforms real-time using Electrocardiography (ECG) ,Electromyography (EMG ) and Electroencephalography (EEG) hopefully i can find out how to connect the sample code.
    ( ps . cant connect it now unless my program is working otherwise labview will crash ) 
    ( p.s.s the encoder of my biofeedback trainer already acts as an DAQ so i wont need to place an DAQ assistant in my block diagram i suppose )
    The sample code of ThoughtTechnology is named as attachment.ashx.vi. too bad i cant use it and present it as my project
    Attachments:
    frequency detactor.vi ‏53 KB
    signal generator.vi ‏13 KB
    attachment.ashx.vi ‏40 KB

Maybe you are looking for