XML JDOM problems - JDBC JAVA

This is a discussion on XML JDOM problems - JDBC JAVA ; Hi all, I have some problem in one of my xml file which value "&" in it. I am using JDOM API to extract xml data to database below is code: the error line is in SAXBuilder builder = new ...

+ Reply to Thread
Results 1 to 2 of 2

XML JDOM problems

  1. Default XML JDOM problems

    Hi all,

    I have some problem in one of my xml file which value "&" in it.

    I am using JDOM API to extract xml data to database below is code:
    the error line is in SAXBuilder builder = new SAXBuilder(); code.

    Any one have any suggestion or ideas how to solve it ?

    Thanks

    protected int process(HttpServletRequest request,
    HttpServletResponse response) {
    int dispatchState = 0;
    try {
    // Build the document with SAX and Xerces, no validation
    SAXBuilder builder = new SAXBuilder();
    File file = new File(xmlDir);
    File [] files = file.listFiles();

    // list of files in directory
    Map <String,ModelBean>model_map = new
    HashMap<String,ModelBean>();
    Map <String,String>orig_series_map = new
    HashMap<String,String>();
    Map <String,String>orig_category_map = new
    HashMap<String,String>();

    XmlAction xmlAction = ActionManager.getXmlAction();



    for(int i=0;i<files.length;i++){

    String filename = files[i].getAbsolutePath();
    logger.log(this.getClass().getName(), "XmlServlet
    process() filename" ,filename);

    // Create the document
    Document doc = builder.build(new File(filename));
    Element root_element = doc.getRootElement();
    // Get a List of all direct children as Element
    objects

    // content data

    List allroot_attributes =
    root_element.getAttributes();
    Attribute attribute = root_element.getAttribute("id");
    String content_id = attribute.getValue();
    attribute = root_element.getAttribute("revision");
    int revision = attribute.getIntValue();
    attribute = root_element.getAttribute("lang");
    String lang = attribute.getValue();
    attribute = root_element.getAttribute("type");
    String type = attribute.getValue();
    attribute = root_element.getAttribute("ts-type");
    String ts_type = attribute.getValue();
    String xmlfile = files[i].getName();
    logger.log(this.getClass().getName(), "XmlServlet
    process() ts_type" ,ts_type);
    logger.log(this.getClass().getName(), "XmlServlet
    process() xmlfile" ,xmlfile);
    String title = "";

    if(ts_type.equalsIgnoreCase("Type-A"))
    title = root_element.getChild("main-
    text").getChild("content-title").getText();
    if(ts_type.equalsIgnoreCase("Type-B"))
    title = root_element.getChild("main-
    text").getChild("content-title").getText();
    if(ts_type.equalsIgnoreCase("Type-C"))
    title = root_element.getChild("main-
    text").getChild("content-title").getText();
    if(ts_type.equalsIgnoreCase("Type-D"))
    title = root_element.getChild("download-
    page").getChild("content-title").getText();

    logger.log(this.getClass().getName(), "XmlServlet
    process() title" ,title);

    boolean in_queue =
    xmlAction.getContentInQueue(content_id,revision,lang);
    logger.log(this.getClass().getName(), "XmlServlet
    process() in_queue" ,String.valueOf(in_queue));

    if(!in_queue){
    logger.log(this.getClass().getName(), "XmlServlet
    process() content_id" ,content_id);
    logger.log(this.getClass().getName(), "XmlServlet
    process() revision" , String.valueOf(revision));
    logger.log(this.getClass().getName(), "XmlServlet
    process() lang" , lang);
    // add new content

    xmlAction.addNewContent(content_id,revision,lang,ts_type,xmlfile,title);
    // add new content reference

    xmlAction.addNewContentReference(content_id,revision,lang,"");
    // get all root child elements
    List allChildren = root_element.getChildren();
    // list all child elements
    for (Iterator iter = allChildren.iterator();
    iter.hasNext(); ){
    Element element = (Element)iter.next();

    // get product-information child elements
    if(element.getName().equalsIgnoreCase("product-
    information")){
    List allProductInfo_Children =
    element.getChildren();
    for (Iterator product_info_iter =
    allProductInfo_Children.iterator(); product_info_iter.hasNext(); ){
    Element product_info_element =
    (Element)product_info_iter.next();

    // get model-information child
    elements

    if(product_info_element.getName().equalsIgnoreCase("model-
    information")){
    List allmodel_info_Children =
    product_info_element.getChildren();
    for (Iterator model_info_iter =
    allmodel_info_Children.iterator(); model_info_iter.hasNext(); ){
    Element model_info_element =
    (Element)model_info_iter.next();
    // get category child elements

    if(model_info_element.getName().equalsIgnoreCase("category")){
    String category_code=
    model_info_element.getChild("category-code").getText();
    String category_name=
    model_info_element.getChild("category-name").getText();

    orig_category_map.put(category_code,category_name);
    List allcategory_Children
    = model_info_element.getChildren();
    for (Iterator
    category_iter = allcategory_Children.iterator();
    category_iter.hasNext(); ){
    Element
    category_element = (Element)category_iter.next();

    if(category_element.getName().equalsIgnoreCase("series")){
    String series_code
    = category_element.getChild("series-code").getText();
    String series_name
    = category_element.getChild("series-name").getText();

    orig_series_map.put(series_code,series_name);
    List model_list =
    category_element.getChildren("model");
    for(Iterator
    model_iter = model_list.iterator(); model_iter.hasNext(); ){
    Element
    model_element = (Element)model_iter.next();
    ModelBean
    modelBean = new ModelBean();
    String
    model_code = model_element.getChild("model-code").getText();
    String
    model_name = model_element.getChild("model-name").getText();

    modelBean.setCategory_code(category_code);

    modelBean.setCategory_name(category_name);

    modelBean.setSeries_code(series_code);

    modelBean.setSeries_name(series_name);

    modelBean.setModel_name(model_name);

    model_map.put(model_code,modelBean);
    // add new
    content models

    xmlAction.addNewContentModels(content_id,revision,lang,model_code);

    }

    }

    }

    }

    }
    }
    }
    }

    }

    // move xml files to staging folder
    files[i].renameTo(new File(stagingDir + "/" +
    files[i].getName()));
    }else{
    // delete xml file if content still in queue
    files[i].delete();
    }


    if(!in_queue){
    Set model_set = model_map.entrySet();

    for (Iterator model_map_iter =
    model_set.iterator(); model_map_iter.hasNext(); ) {
    Map.Entry entry =
    (Map.Entry)model_map_iter.next();
    String model_code = (String)entry.getKey();
    ModelBean modelBean =
    (ModelBean)entry.getValue();
    String model_name =modelBean.getModel_name();
    String series_code
    =modelBean.getSeries_code();
    String series_name
    =modelBean.getSeries_name();
    String category_code
    =modelBean.getCategory_code();
    String category_name
    =modelBean.getCategory_name();
    // add new model

    xmlAction.addNewModel(model_code,model_name,category_code,series_code);

    xmlAction.addNewModelOwner(model_code,category_code,series_code);

    }

    Set orig_series_set = orig_series_map.entrySet();
    for (Iterator orig_series_iter =
    orig_series_set.iterator(); orig_series_iter.hasNext(); ) {
    Map.Entry entry =
    (Map.Entry)orig_series_iter.next();
    String series_code = (String)entry.getKey();
    String series_name = (String)entry.getValue();
    // add new orig series
    if(!
    StringCommon.check_string_empty(series_code))

    xmlAction.addNewOrigSeries(series_code,series_name);

    }

    Set orig_category_set =
    orig_category_map.entrySet();
    for (Iterator orig_category_iter =
    orig_category_set.iterator(); orig_category_iter.hasNext(); ) {
    Map.Entry entry =
    (Map.Entry)orig_category_iter.next();
    String category_code = (String)entry.getKey();
    String category_name =
    (String)entry.getValue();
    // add new orig category
    if(!
    StringCommon.check_string_empty(category_code))

    xmlAction.addNewOrigCategories(category_code,category_name);

    }
    logger.log(this.getClass().getName(), "XmlServlet
    process()" , "upload xml data to database ok");
    }
    }

    } catch (Exception ex) {
    logger.log(this.getClass().getName(), "XmlServlet
    process()" , ex.getMessage(),ex);
    }

    return dispatchState;
    }


  2. Default Re: XML JDOM problems

    weetat wrote:
    > Hi all,
    >
    > I have some problem in one of my xml file which value "&" in it.
    >
    > I am using JDOM API to extract xml data to database below is code:
    > the error line is in SAXBuilder builder = new SAXBuilder(); code.
    >
    > Any one have any suggestion or ideas how to solve it ?
    >
    > Thanks
    >
    > protected int process(HttpServletRequest request,
    > HttpServletResponse response) {
    > ...
    > }
    >
    > }
    >
    > }
    >
    > }
    >
    > }
    > }
    > }
    > }
    >
    > }


    Thanks for ending with brackets here. Try to think like OO.

    Alfred

+ Reply to Thread

Similar Threads

  1. JDOM
    By Application Development in forum Java
    Replies: 0
    Last Post: 11-14-2007, 04:28 AM
  2. Best way to manipulate XML? DOM, JDOM?
    By Application Development in forum Java
    Replies: 1
    Last Post: 10-02-2007, 07:02 PM
  3. XML JDOM problems
    By Application Development in forum Java
    Replies: 4
    Last Post: 06-28-2007, 07:24 PM
  4. update xml file by using JDom.
    By Application Development in forum Java
    Replies: 0
    Last Post: 04-04-2007, 03:47 PM
  5. [JS][CS2] Using jdom
    By Application Development in forum Adobe Indesign
    Replies: 0
    Last Post: 07-04-2006, 12:13 PM