Create xml tree

Hi, I am trying do small application for showing tree structure of XML documents.
And how can I create tree of xml document with bad structure?
I can do it, when the xml file is correct. But I cannot make xml tree when the document has wrong tags:
<rt>
     <aaa>
          text
          <bbb>
          <ccc />
          <ddd>text</aaa></ddd>
</rt>I know, it is bad xml document, but is there any way how to create tree? Samething like this:
rt
     +aaa : ERROR
     -bbb : ERROR
     -ccc
     +ddd
          -aaa : ERRORI use these metods and at first build xml:
     public void buildXML(String fileName) {
          try {
               SAXBuilder builder = new SAXBuilder();
               builder.setValidation(false);
               doc = builder.build(fileName);
          } catch (JDOMException e) {
               e.printStackTrace();
          } catch (IOException e) {
               e.printStackTrace();
          root = doc.getRootElement();
     }then I get xml tree:
     private DefaultMutableTreeNode tNode = new DefaultMutableTreeNode();
     public DefaultMutableTreeNode getTreeNode() {
          tNode.removeAllChildren();
          makeTree(root, tNode);
          return tNode;
     private void makeTree(Element el, DefaultMutableTreeNode tn) {
          DefaultMutableTreeNode tn_2 = new DefaultMutableTreeNode(el.getName());
          tn.add(tn_2);
          Attribute attr;
          for (int i = 0; i < el.getChildren().size(); i++) {
               Element el2 = (Element)el.getChildren().get(i);
               if (el2 instanceof Element) {
                    makeTree((Element)el2, tn_2);
     }can anybody help me, please?

The question makes no sense. You display something that isn't tree-structured data and ask if there is any way to display it in a tree structure. Well, no, there isn't.
And also, no XML parser will complete parsing of a malformed XML document. It's against the rules.

Similar Messages

  • Best way to create XML tree --- Swing??

    My program reads form an XML file upon launching to get all the ground data and the file structure and all that good stuff so it can simulate what it simulates (doesn't matter and I can say anyway).
    It's getting to be a PITA to maintain and add stuff to my XML config file. So, what's the bast way to build XML files through a GUI like swing. Hmmmmmmm.
    Sorry for the vague question.
    I was thinking building something like elplorer with pop up windows and buttons to add elemts into the XML, but so the elements would always be added into the correct position.

    Hi,
    use javax.swing.JTree
    http://galileo.spaceports.com/~ibidris/

  • How to create subtrees from a large xml tree

    Hi All,
    I am parsing an XML which creates a tree. I want to create small subtrees from it, so that I can associaate XPATH for these small subtrees.
    If anyone knows kindly help me.
    Thanks & Regards,
    sneha...

    VL01 is the transaction for the creation of Delivery
    VL01   SAPMV50A       Create Delivery
    VL01N  SAPMV50A       Create Outbound Dlv. with Order Ref
    VL01NO SAPMV50A       Create Outbound Dlv. w/o Order Ref.
    Message was edited by: Gopi Narendra

  • Create a Tree Node Structure from XML

    Hi
    We have a requirement where we have an XML file we want to create the Tree Node structure from the XML can anyone help out on this
    We are referring to the following blog but in that it is coming from KM content and we require the tree structure to form from a XML file
    http://wiki.sdn.sap.com/wiki/display/Snippets/SmartNavigationTreeforKM+Folders
    Can anyone help me
    Regards
    JM

    Hi,
    Could you elaborate a litle more exacly what you need to do?
    I found the link http://help.sap.com/saphelp_470/helpdata/en/86/8280db12d511d5991b00508b6b8b11/content.htm that maybe assist you.
    Please remember to evaluate the replays, this incentive the SDN to keep growing,
    regards,
    Fabio

  • How to Create XML Schema From JTree ?

    Please help me... Thank you.
    This is Code
    Tree.java ----- Run This File
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.tree.DefaultMutableTreeNode;
    public class Tree extends JPanel implements ActionListener {
        private int newNodeSuffix = 1;
        private static String ADD_COMMAND = "add";
        private static String REMOVE_COMMAND = "remove";
        private static String CLEAR_COMMAND = "clear";
        private static String OK_COMMAND = "ok";
        private DynamicTree treePanel;
        public Tree() {
            super(new BorderLayout());
            //Create the components.
            treePanel = new DynamicTree();
            //populateTree(treePanel);
            JButton addButton = new JButton("Add");
            addButton.setActionCommand(ADD_COMMAND);
            addButton.addActionListener(this);
            JButton removeButton = new JButton("Remove");
            removeButton.setActionCommand(REMOVE_COMMAND);
            removeButton.addActionListener(this);
            JButton clearButton = new JButton("Clear");
            clearButton.setActionCommand(CLEAR_COMMAND);
            clearButton.addActionListener(this);
            JButton okButton = new JButton("OK");
            okButton.setActionCommand(OK_COMMAND);
            okButton.addActionListener(this);
            //Lay everything out.
            treePanel.setPreferredSize(new Dimension(300, 150));
            add(treePanel, BorderLayout.CENTER);
            JPanel panel = new JPanel(new GridLayout(0,1));
            panel.add(addButton);
            panel.add(removeButton);
            panel.add(clearButton);
            panel.add(okButton);
            add(panel, BorderLayout.LINE_END);
        /*public void populateTree(DynamicTree treePanel) {
            String p1Name = new String("Parent 1");
            //String p2Name = new String("Parent 2");
            String c1Name = new String("Child 1");
            //String c2Name = new String("Child 2");
            DefaultMutableTreeNode p1;
            p1 = treePanel.addObject(null, p1Name);
            //p2 = treePanel.addObject(null, p2Name);
            treePanel.addObject(p1, c1Name);
            //treePanel.addObject(p1, c2Name);
            //treePanel.addObject(p2, c1Name);
            //treePanel.addObject(p2, c2Name);
        public void actionPerformed(ActionEvent e) {
            String command = e.getActionCommand();
            if (ADD_COMMAND.equals(command)) {
                //Add button clicked.
                treePanel.addObject("New Node " + newNodeSuffix++);
            } else if (REMOVE_COMMAND.equals(command)) {
                //Remove button clicked.
                treePanel.removeCurrentNode();
            } else if (CLEAR_COMMAND.equals(command)) {
                //Clear button clicked.
                treePanel.clear();
            } else if (OK_COMMAND.equals(command)) {
                 //Ok button clicked.
                 treePanel.ok();
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("Craete XML Tree");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Create and set up the content pane.
            Tree newContentPane = new Tree();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
    }DynamicTree.java
    import javax.swing.JOptionPane;
    import java.awt.GridLayout;
    import java.awt.Toolkit;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.MutableTreeNode;
    import javax.swing.tree.TreePath;
    import javax.swing.tree.TreeSelectionModel;
    import javax.swing.event.TreeModelEvent;
    import javax.swing.event.TreeModelListener;
    public class DynamicTree extends JPanel {
        protected DefaultMutableTreeNode rootNode;
        protected DefaultTreeModel treeModel;
        protected JTree tree;
        private Toolkit toolkit = Toolkit.getDefaultToolkit();
        public DynamicTree() {
            super(new GridLayout(1,0));
            rootNode = new DefaultMutableTreeNode("Root Node");
            treeModel = new DefaultTreeModel(rootNode);
            treeModel.addTreeModelListener(new MyTreeModelListener());
            tree = new JTree(treeModel);
            tree.setEditable(true);
            tree.getSelectionModel().setSelectionMode
                    (TreeSelectionModel.SINGLE_TREE_SELECTION);
            tree.setShowsRootHandles(true);
            JScrollPane scrollPane = new JScrollPane(tree);
            add(scrollPane);
        /** Remove all nodes except the root node. */
        public void clear() {
            rootNode.removeAllChildren();
            treeModel.reload();
        public void ok() {
             int n = JOptionPane.showConfirmDialog(null, "Do you want to create XML Schema?", "", JOptionPane.YES_NO_OPTION);
        /** Remove the currently selected node. */
        public void removeCurrentNode() {
            TreePath currentSelection = tree.getSelectionPath();
            if (currentSelection != null) {
                DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode)
                             (currentSelection.getLastPathComponent());
                MutableTreeNode parent = (MutableTreeNode)(currentNode.getParent());
                if (parent != null) {
                    treeModel.removeNodeFromParent(currentNode);
                    return;
            // Either there was no selection, or the root was selected.
            toolkit.beep();
        /** Add child to the currently selected node. */
        public DefaultMutableTreeNode addObject(Object child) {
            DefaultMutableTreeNode parentNode = null;
            TreePath parentPath = tree.getSelectionPath();
            if (parentPath == null) {
                parentNode = rootNode;
            } else {
                parentNode = (DefaultMutableTreeNode)
                             (parentPath.getLastPathComponent());
            return addObject(parentNode, child, true);
        public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
                                                Object child) {
            return addObject(parent, child, false);
        public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
                                                Object child,
                                                boolean shouldBeVisible) {
            DefaultMutableTreeNode childNode =
                    new DefaultMutableTreeNode(child);
            if (parent == null) {
                parent = rootNode;
            treeModel.insertNodeInto(childNode, parent,
                                     parent.getChildCount());
            //Make sure the user can see the lovely new node.
            if (shouldBeVisible) {
                tree.scrollPathToVisible(new TreePath(childNode.getPath()));
            return childNode;
        class MyTreeModelListener implements TreeModelListener {
            public void treeNodesChanged(TreeModelEvent e) {
                DefaultMutableTreeNode node;
                node = (DefaultMutableTreeNode)
                         (e.getTreePath().getLastPathComponent());
                 * If the event lists children, then the changed
                 * node is the child of the node we've already
                 * gotten.  Otherwise, the changed node and the
                 * specified node are the same.
                try {
                    int index = e.getChildIndices()[0];
                    node = (DefaultMutableTreeNode)
                           (node.getChildAt(index));
                } catch (NullPointerException exc) {}
                System.out.println("The user has finished editing the node.");
                System.out.println("New value: " + node.getUserObject());
            public void treeNodesInserted(TreeModelEvent e) {
            public void treeNodesRemoved(TreeModelEvent e) {
            public void treeStructureChanged(TreeModelEvent e) {
    }

    XML shema is basically an XML file. So u need to know how to create an XML,
    provided u know how the shema file should be.
    Creating an XML :
    http://forum.java.sun.com/thread.jspa?threadID=5181031&messageID=9705786#9705786

  • How to create xml entity in java?????

    public Document createXml(String Error,String src,String trg)
                 DocumentBuilderFactory docBuilderFactory = null;
                DocumentBuilder docBuilder = null;
            //    src= src.replaceAll("&","I want this ");
               //  trg= trg.replaceAll("&","Yse !!!;");
                 try {
                      docBuilderFactory = DocumentBuilderFactory.newInstance();
                      docBuilder = docBuilderFactory.newDocumentBuilder();
                      xmlDoc = docBuilder.newDocument();
                     //create the root element
                     Element errorLog = xmlDoc.createElement("errorLog");
                     //all it to the xml tree
                       xmlDoc.appendChild(errorLog);
                      Entity e1=(Entity) xmlDoc.createEntityReference("amit");
                        xmlDoc.appendChild(e1);
                       Entity e2=(Entity) xmlDoc.createEntityReference("chch");
                       xmlDoc.appendChild(e2);
                          Element error = xmlDoc.createElement("error");
                             error.setAttribute("Type",Error);
                             errorLog.appendChild(error);
                             Element source = xmlDoc.createElement("source");
                             source.appendChild(xmlDoc.createTextNode(src));
                             error.appendChild(source);
                             Element target = xmlDoc.createElement("target");
                             target.appendChild(xmlDoc.createTextNode(trg));
                             error.appendChild(target);
                 } catch (Exception ex) {
                 return xmlDoc;
            }It seem to be failing in creating entities Help plzzzzzzzzzzzzzzzzzzzzzz

    I want out put like
    <?xml version="1.0"?>
    <!ENTITY amit ' xyz'>
    <errorLog>
    <error Type="Error">
    <source> this is </source>
    <target>Yes</target>
    </error></errorLog>
    bUT iT gives rest except Entity part
    Help!!!!!!!!!!!!

  • Deleting Nodes from XML Tree (JTree)

    I have created a XML Tree(extended from JTree) using XNodes ( extended from DefaultMutableTreeNode)
    After some insertions, i need to delete certain nodes from the XML Tree.. but after deletion, XNode will be null.
    subroutine is as follows...
    appreciates any advice
    Thanx
    private XNode RemoveExtraNode( XNode xNode ){
    int child;
    String nodeType;
    XNode childNode=null;
    if ( (child=xNode.getChildCount() ) > 0){
    for(int i=0;i<child;i++){
    childNode=(XNode)xNode.getChildAt(i);          
         nodeType = childNode.getType();
         if(nodeType.equals("DTD") )
         childNode.removeFromParent();
    }//end for (int i=1;i<child;i++)
    }//endif((child=xNode.getChildCount())!=0)
    return xNode;     
    }//RemoveExtraNode

    Hi IKEDA
    Thanx for the reply.
    I have tried xNode.remove(childNode) b4 and it still return a null JTree.
    Anyway fyi i discover i can delete last child of xNode and return the correct java tree. therefore to delete a node of my choice i simply insert its next sibling nodes in its place and delete that particular node when it becomes the last child.

  • XML TREE calling external .swf

    Thanks to some research and the help from you guys, I am
    getting the hand of
    this XML tree business for Flash 8.
    Now, my question to you is this:
    How can I create a clickable link for (let's say) my nome
    Fornecedor 1.
    I would like to click on this link and call an external .swf,
    which I would
    load into an empty MC.
    Thanks again!
    <node label="Comercio e Servicos">
    <node label="Materiais Basicos">
    <node label="areia">
    <node label="SP">
    <node label="Fina">
    <node label="Fornecedor 1" /> //
    THIS WOULD BE THE CLICKABLE ITEM to call an external swf.
    <node label="Fornecedor 2" />
    </node>
    <node label="Media">
    <node label="Fornecedor 1" />
    <node label="Fornecedor 2" />
    </node>
    <node label="Grossa">
    <node label="Fornecedor 1" />
    <node label="Fornecedor 2" />
    </node>
    </node>

    To sum up:
    Clicking on a <node label> to call an external .swf
    "Sergiomon" <[email protected]> escreveu na
    mensagem
    news:eli0tj$aqd$[email protected]..
    > Thanks to some research and the help from you guys, I am
    getting the hand
    > of this XML tree business for Flash 8.
    >
    > Now, my question to you is this:
    >
    > How can I create a clickable link for (let's say) my
    nome Fornecedor 1.
    > I would like to click on this link and call an external
    .swf, which I
    > would load into an empty MC.
    >
    > Thanks again!
    >
    >
    >
    > <node label="Comercio e Servicos">
    > <node label="Materiais Basicos">
    > <node label="areia">
    > <node label="SP">
    > <node label="Fina">
    > <node label="Fornecedor 1" /> //
    > THIS WOULD BE THE CLICKABLE ITEM to call an external
    swf.
    > <node label="Fornecedor 2" />
    > </node>
    > <node label="Media">
    > <node label="Fornecedor 1" />
    > <node label="Fornecedor 2" />
    > </node>
    > <node label="Grossa">
    > <node label="Fornecedor 1" />
    > <node label="Fornecedor 2" />
    > </node>
    > </node>
    >

  • XML Tree Overview

    Hi,
    Is there a XML Tree Overview out there?
    Like to see all the parameters I can add in my XML tree when I build my XML (.srf) Form.
    Edited by: Rune Brattas on May 5, 2008 2:43 PM

    Hi Rune,
    as much as i know there's no XML tree description.
    create yourself one with the screenpainter.
    place every item type on the screen and save it.
    i know its not sexy or really helpful ...
    good night & regards
    David

  • Looking for com.sun.xml.tree package

    Hi,
    I�m looking for a jar which contains the XmlDocument class to download.
    I found the package, (it�s com.sun.xml.tree) but I cannot find where the package/jar is to download it.
    Your help will be much appreciated.
    Thank you,
    Chris

    I have all latest jars (jaxp, xerces, xalan, jdom, dom4j and any related jars). I have w3c DOM and i have been trying to convert it to JDOM and dom4j using relevant APIs. i keep getting following error.
    Exception in thread "main" java.lang.AbstractMethodError: com.sun.xml.tree.Eleme
    ntNode.getNamespaceURI()Ljava/lang/String;
    at org.dom4j.io.DOMReader.readElement(DOMReader.java:181)
    at org.dom4j.io.DOMReader.readTree(DOMReader.java:106)
    at org.dom4j.io.DOMReader.read(DOMReader.java:88)
    Can you advise what could be the reason and how to resolve this?
    FYI : my w3c DOM has been created with com.sun.xml.tree.XmlDocumentBuilder class and other methods of the package. I need to resolve this error at earliest to move forward.
    I would apprecaite early response at [email protected]
    Thanks,

  • Import  com.sun.xml.tree.XmlDocument

    Hello! Can some one help me on the following problem?
    I am writing a DOM parser and I need to print out the modified xml file. So I want to use the write funcition defined in the com.sun.xml.tree.XmlDocument library. But this package is NOT included in JAXP package. Where shall I get this com.sun.xml.tree.XmlDocument library?
    Any help is greatly appreciated.

    You are WRITING an XML parser? Hopefully you meant that you were USING an XML parser. If you are using JAXP (which does include an XML parser) then you don't need that package to output XML. The example you got that idea from is obsolete.
    If your question is "How to use JAXP to write XML from a Document object?" then this is a FAQ here. Perhaps the search function is working and you could find the answer in this forum; I recall that it involves creating a Transformer whose input is the Document and whose output is wherever you wanted the XML to go to.

  • Creating XML from large result sets

    We are trying to create XML docs from queries that return somewhere in the neighborhood of 13000+ rows, each with as many as 30 columns. It seems someplace deep within the xmlgen utility or the xsu methods, we throw an OutOfMemoryError. This happens whether we run as a java stored procedure, a pl/sql stored procedure, pl/sql script or java servlet. It looks like the top of the stack shows the problem occurs trying to extendCapacity in a StringBuffer. We're running 8.1.6 with java 1.2.2 and xsu 1.2. Has anyone had to query large amounts of data like this and if so, how did you go about it? Is there a slick way to break things up and then string everything back into 1 big xml doc? Any help would be greatly appreciated. Thanks.

    I guess you can use pagination,
    either using xsu or Top N Queries and then you could merge all the pages in an unique XML or DOM tree prior to persist it to disk.
    With XSU:
    Go to the following link for a clear explanation:
    <http://technet.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.817/a86030/adx04x11.htm#1008351>
    With Top N queries:
    Go to the following thread of this forum to see a similar question I raised and it was answered in detail:
    <http://technet.oracle.com:89/ubb/Forum11/HTML/004711.html>
    - Jose Angel -

  • Creating a tree structure in jsp- URGENT

    Hi,
    I need to create a tree structure using jsp. Can anybody help me out.
    Thanks in advance.

    to do what? to store what? be more specific dude. As a first suggestion use XML.

  • How can I create a Tree with Color Picker icons?

    I'm a newbie to Flex. I want to create a tree which has color
    picker icons.
    As an analogy for the Mac users out there, I envision a
    control like the Calendars section in iCal, where you can specify
    the color for each individual node. These colors are then used in
    other parts of the application.
    The Flex 3 documentation specifies four methods for setting
    node icons on a Tree control, none of which seems to suit my needs:
    -The folderOpenIcon, folderClosedIcon, and defaultLeafIcon
    properties
    -Data provider node icon fields
    -The setItemIcon() method
    -The iconFunction property
    In other words, I want to "setItemIcon" to an mx:ColorPicker,
    if that makes any sense.
    Is there a standard way of doing this? If not, how can I go
    about implementing such a control? Thanks in advance!

    well, Network UI should be used.

  • How to create a tree view in adobe configurator

    Hi
              How to create a tree view in adobe configurator
    Thanks 

    Please, can you explain what you mean exactly?

Maybe you are looking for