How replace XML Elements with java

I have been usint SAX 2.0 and DOM Level 2 api's to represent XML documents, which i parse with apache's Xerces parser... I am trying to delete certain elements and replace them with others, but none of the api's allow this the closes i have come is replacing attributes of elements....

-jverd
You might also want to look into jdom or dom4j.Thanks jdom worked for replaceing the elements and attributes...but when i tried to store the changes in a new file, the text nodes were processed. for e.g. if i had &#8217 the char ( ' ) appeared in the new file. how do i keep the unicode...

Similar Messages

  • How to replace XML elements using java

    I have been usint SAX 2.0 and DOM Level 2 api's to represent XML documents, which i parse with apache's Xerces parser... I am trying to delete certain elements and replace them with others, but none of the api's allow this the closes i have come is replacing attributes of elements....

    Answered in crosspost.
    http://forum.java.sun.com/thread.jspa?threadID=638156

  • [CS5-5.5][JS] Replace xml element content with user selection

    Hi,
    I'm trying to write a script that replaces xml element content with a user selection.
    I have document containing a textframe with a "root" tag attached. In this frame I have 2 paragraphs, each tagged with a different tag.
    I would like to replace the content of one of the paragraphs with the content of a text selection.
    This piece of code doesn't seem to work:
    myXMLElement.xmlContent = app.selection[0];
    The problem is that almost all properties of the xmlelement (paragraphs, words, etc) are read-only.
    Does anyone have any suggestion?
    Thanx

    It depends on whether you want to maintain formatting. You can use
    myXMLElement.contents = app.selection[0].contents;
    in the (unlikely?) event that you don't mind blowing away the formatting. Otherwise you'll want to use something like:
    myXMLElement.xmlContent.remove();
    app.selection[0].duplicate(LocationOptions.AT_BEGINNING, myXMLElement.xmlContent);
    Jeff

  • Create XML-element with different prefixes

    Hello,
    In Infopath 2010 I want to generate a XML-element with C#.
    I've got a XML-structure with following elements:
    /my:meineFelder/my:gruppe1/my:gruppe2/my:unter/my:art
    /my:meineFelder/my:gruppe1/my:gruppe2/ns1:FW1/MANDT
    To fill the field "art" I use this code:
    string myNamespace = NamespaceManager.LookupNamespace("my");
    writer.WriteStartElement("gruppe2", myNamespace);
      writer.WriteStartElement("unter", myNamespace);
        writer.WriteElementString("art", myNamespace, "lets go");
      writer.WriteEndElement();
    writer.WriteEndElement();
    writer.Close();
    This works very well.
    Problem: the code above do not work for the second field MANDT. Error: Error during Schema Validation.
    /my:meineFelder/my:gruppe1/my:gruppe2/ns1:FW1/MANDT
    I tried this:
     writer.WriteStartElement("ns1", "FW1", myNamespace);
            writer.WriteElementString("ns1", "MANDT", myNamespace, "100");
            writer.WriteEndElement();
    As you can see, the problem is ns1:FW1. How to fix it?
    Thank you very much!
    Regards,
    spadmin

    Hi,
    solved with:
    String xpath = "/my:xxx/my:gruppe1/my:gruppe2[last()]";
    XPathNavigator oldGroup = MainDataSource.CreateNavigator().SelectSingleNode(xpath, NamespaceManager);
    XPathNavigator newGroup = oldGroup.Clone();
    oldGroup.InsertBefore(newGroup);
    Regards

  • Replace the wait with java embedding thread.sleep() function

    Hi,
    How to replace the wait with java embedding thread.sleep() function. Can anyone help.
    Thanks.

    drag and drop the java embedding component
    include the following code in it.
    try{ 
    Thread.sleep(60000);
    }catch(Exception e)
    --Prasanna                                                                                                                                                                                                                                                                                                                           

  • Can i have xml elements with same name but one is having attrbt..?

    Hi all,
    I am suppose to take input from one system into BPEL.That system is auto gererating xml file. But that file is strange. It has two xml element with
    same name but with completely different sequence. First one is having two comlexTypes while second is having 5 simple types.
    Now the difference is First element is having attribute while second is not.
    So is that file is correct.?
    thanks a lot.
    /mishit

    can you post the file? or load the file into JDeveloper and check the syntax or use XMLSpy for validation of the XML.

  • How to handle abstract XML elements with XMLBeans

    Hello,
    I have an xsd that uses abstract elements, and i wanted to ask you how can i create new XML Documents with XMLBeans? My problems is that i don't know how to handle abstaction with XMLBeans.
    Let me show you a very simple example to make you understand my problem :
    Suppose we have the following schema :
    <xsd:schema targetNamespace="http://www.example.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org">
         <xsd:element name="Customer" type="CustomerType" />
         <xsd:complexType name="CustomerType" abstract="true" />
         <xsd:complexType name="PremiumCustomerType">
              <xsd:complexContent>
                   <xsd:extension base="CustomerType">
                        <xsd:sequence>
                             <xsd:element name="CreditCard" type="xsd:string" />
                        </xsd:sequence>
                   </xsd:extension>
              </xsd:complexContent>
         </xsd:complexType>
    </xsd:schema>I use XMLBeans to create a jar with java classes according the xsd above. Then, in order to create a new xml document i use the following code :
    CustomerDocument cd = CustomerDocument.Factory.newInstance();
    CustomerType ct = cd.addNewCustomer();
    PremiumCustomerType pct = PremiumCustomerType.Factory.newInstance();
    ct.changeType(pct.schemaType());With this code i get an XML Document like the following :
    <Customer type="PremiumCustomerType" />But after that, i cannot add an element CreditCard into this Customer element. Can anyone help me?

    In Indesign there is no way you can directly work on the XML-IN footnote, since indesign won't support XML tags in footnote stream.
    To achive that you need to have XSLT/Perl/Indesign Scripting.
    This task is achievable, you can create a auto footnote for XML workflow projects.
    1. Create an XSLT to transform the footnote to the respective places
    2. Change all the "<" ">" to some standard names, since indesign won't accept XML tags in the footnote stream.
    3. Import it in indesign and using script convert it to autofootnote.
    Shaji

  • How to map more than one xml element with some Paragraph in a Text Frame

    Hi friends,
    I am new in InDesign Java Scripting and I have to place or map, more than one xml elements of different parents, into one textbox. Is it possible through JavaScript? Can anyone help me in this because I have no idea how it should work and it urgently required.
    Thanks in Advance

    I had answered to you already in your first post: the short answer is that it's not possible on the same text box unless you assign a common ancestor of these two "parents" item. That's not a question of scripting, it's the way Indesign handle the XML with the layout. Import a xml in Indesign and drop tags to page item. What you can do manually is quite representative of what can be done through scripting.
    If you assign this anscestor to the text frame, you have to expect that all text child items will be displayed in the text frame (including the text of all the child of the two "parents" and all the other parents/childs that could be under the common ancestor). Having a XML that is designed for Indesign usage is pretty much inevitable if you are doing anything "serious".

  • How to modify the content of a xml element using java?

    Hi all,
    In my usecase I need to export some data from the database to the external file (Ms Word) using java.
    The data which I get from the database will be in the form of a xml file. In that xml file
    I got to modify the content of an attribute of a xml element in the java class. Kindly comeup with your help
    to achieve this.
    Thanks,
    Phanindra.
    Edited by: 887737 on Dec 5, 2011 5:52 AM

    Why don't you try Xerces2?Why don't you tell him to use the javax.xml APIs that are already built in? And that use Xerces2 under the hood? Instead of throwing out a suggestion that might lead to him adding another copy of Xerces into his application?
    @OP there are several techniques:
    - string replacement as suggested by jschell
    - XML parsing to a DOM and then use the DOM API
    - XSLT
    Which you should use depends on the complexity of your requirement.

  • How to read and parse a remote XML file with Java

    Hi.
    Using J2SE v1.4.2, I'd like to read and parse a remote file:
    http://foo.com/file.xml
    Is it possible with Java? I'd be extremely grateful if someone could provide me any webpage showing a very simple code.
    Thank you very much.

    How about the following?
         import java.io.InputStream;
         import java.net.URL;
         import javax.xml.parsers.DocumentBuilder;
         import javax.xml.parsers.DocumentBuilderFactory;
         import org.w3c.dom.Document;
         public static void main(String[] args) throws Exception {
              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
              DocumentBuilder db = dbf.newDocumentBuilder();
              URL url = new URL("http://foo.com/file.xml");
              InputStream inputStream = url.openStream();
              Document document = db.parse(inputStream);
              inputStream.close();
         }-Blaise

  • How to create XML element with out creating a document

    I ve been looking for hours for a method to create an XML element without the need for the Document. I am trying to create objects that access the database, and I need in each of these objects a method that returns only an element (ie. getXMLData()). And in the class that created these object, I nee to call the getXML() methods and construct a document. However, I am not looking to create the document if I am not going to use it. In the component class I need to be able to traverse the xml element and read and modify the values. Is there a way to do so with sun's JDK ?

    I ve been looking for hours for a method to create an
    XML element without the need for the Document.
    ... I am not looking to create the document if I
    am not going to use it.Hi M-A,
    Though you have been told the solution, let's stick to your original issue, just for the sake of interest. I gather what you have in mind is finding the answer to the following question: is there a way of creating a document without having to bind it to any data source? The answer is yes. What you might need is the createDocument() method of the DOMImplementation interface which offers lightwight document handling by obviating the need to construct a particular DOM instance. (You could also use the getDOMImplementation() method of the DOMImplementationRegistry interface, but it has bugs.) Here's a sample code:DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder parser = factory.newDocumentBuilder();
    DOMImplementation domImpl = parser.getDOMImplementation();
    Document doc = domImpl.createDocument(null, "rootnode", null);The above code produces the following document:<?xml version="1.0" encoding="UTF-8"?>
    <rootnode/>You can make this document even skinnier if you pass null values to all three parameters of the createDocument() method, in which case the document will only contain the prolog. I think both the creation and the structure of this document are simple enough for you to use it as some sort of utility (e.g. by putting the code in a separate class) for creating elements.

  • How to validate the Xml File With Java

    Hi,
    Can pls tell me. I want to validate the XML File for the Some Mandartory TAG. if that if Tag null i want to generate error xml file with error and i want move another folder with java. pls help me as soon as possible

    Use a validating parser (any recent Xerces, for one) and switch on the validation feature. Very much vendor-specific, so look at the docs of your parser. Oh, you do have a schema for these documents, don't you?

  • Split XML in Multiple XML files with Java Code

    Hi guys , i have following xml file as input ....
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <T0020
    xsi:schemaLocation="http://www.safersys.org/namespaces/T0020V1 T0020V1.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.safersys.org/namespaces/T0020V1">
    <INTERFACE>
    <NAME>SAFER</NAME>
    <VERSION>04.02</VERSION>
    </INTERFACE>
    <TRANSACTION>
    <VERSION>01.00</VERSION>
    <OPERATION>REPLACE</OPERATION>
    <DATE_TIME>2009-09-01T00:00:00</DATE_TIME>
    <TZ>CT</TZ>
    </TRANSACTION>
    <IRP_ACCOUNT>
    <IRP_CARRIER_ID_NUMBER>274845</IRP_CARRIER_ID_NUMBER>
    <IRP_BASE_COUNTRY>US</IRP_BASE_COUNTRY>
    <IRP_BASE_STATE>AR</IRP_BASE_STATE>
    <IRP_ACCOUNT_NUMBER>55002</IRP_ACCOUNT_NUMBER>
    <IRP_ACCOUNT_TYPE>I</IRP_ACCOUNT_TYPE>
    <IRP_STATUS_CODE>100</IRP_STATUS_CODE>
    <IRP_STATUS_DATE>2007-11-06</IRP_STATUS_DATE>
    <IRP_UPDATE_DATE>2009-08-03</IRP_UPDATE_DATE>
    <IRP_NAME>
    <NAME_TYPE>LG</NAME_TYPE>
    <NAME>A P SUPPLY CO</NAME>
    <IRP_ADDRESS>
    <ADDRESS_TYPE>PH</ADDRESS_TYPE>
    <STREET_LINE_1>1400 N OATS</STREET_LINE_1>
    <STREET_LINE_2/>
    <CITY>TEXARKANA</CITY>
    <STATE>AR</STATE>
    <ZIP_CODE>71854</ZIP_CODE>
    <COUNTY>MILLER</COUNTY>
    <COLONIA/>
    <COUNTRY>US</COUNTRY>
    </IRP_ADDRESS>
    <IRP_ADDRESS>
    <ADDRESS_TYPE>MA</ADDRESS_TYPE>
    <STREET_LINE_1>P O BOX 1927</STREET_LINE_1>
    <STREET_LINE_2/>
    <CITY>TEXARKANA</CITY>
    <STATE>AR</STATE>
    <ZIP_CODE>75504</ZIP_CODE>
    <COUNTY/>
    <COLONIA/>
    <COUNTRY>US</COUNTRY>
    </IRP_ADDRESS>
    </IRP_NAME>
    </IRP_ACCOUNT>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    </T0020>
    and i want to take this xml file and split it into multiple files through java code like this ...
    File1.xml
    <T0020>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    </T0020>
    File2.xml
    <T0020>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    <IRP_ACCOUNT> ..... </IRP_ACCOUNT>
    </T0020>
    like wise...
    Each xml file contain maximum 10 or 15 IRP_ACCOUNT.
    Can somebody please help me ? How can i do it with stax like start element and all ?
    thanks in advance.

    Ah, sorry, strike that. You want multiple files. I think the easiest way is to simply parse with DOM. [http://www.w3schools.com/xpath/default.asp] . And here [http://www.w3schools.com/xpath/default.asp].
    You can output the various XML elements using a PrintWriter or creating a separate DOM document for each file you want to create and serializing that.
    - Saish

  • Issue with working on a webservice that has  xml elements with attributes

    This is  a branchout of Thread: Some more complex sample of invokin WS needed_
    We are working on a project that involves a outbound SALT Web service call that includes complex elements with attributes..We are looking for options of how to use FML API's to pass these attribute values from the application code.
    We opened a ticket with oracle where we were suggested to frame the entire xml and pass the xml using the FML32 of the complex element. But when we framed the xml for Service and put the entire XML which includes the attributes using the FML ID of Service.
    Please find a sample Schema and XML similar to the one we are working on...its associated code
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xs:element name="Service" type="Service_Type" nillable="true">
              <xs:annotation>
                   <xs:documentation>Comment describing your root element</xs:documentation>
              </xs:annotation>
         </xs:element>
         <xs:complexType name="Service_Type">
              <xs:sequence>
                   <xs:element name="DateTime" type="xs:dateTime" nillable="true">
                   </xs:element>
                   <xs:element name="UUID" nillable="true">
                   </xs:element>
                   <xs:element name="Status" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded">
                   </xs:element>
              </xs:sequence>
              <xs:attribute name="Version" type="xs:string" use="required">
              </xs:attribute>
              <xs:attribute name="Name" type="xs:string" use="required">
              </xs:attribute>
         </xs:complexType>
    </xs:schema>
    The sample XML is :
    ___<?xml version="1.0" encoding="UTF-8"?>___
    ___<!--Sample XML file generated by XMLSpy v2010 rel. 2 (http://www.altova.com)-->___
    ___<Service Name="TestService" Version="1.1" xsi:noNamespaceSchemaLocation="Untitled6.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">___
    ___     <DateTime>2001-12-17T09:30:47Z</DateTime>___
    ___     <UUID>text</UUID>___
    ___</Service>___
    wsdlcvt generated the mif file with Service as a FML32 type and all its child elements as "mbstring". We tried to leave as it is and we also tried to replace all the child elements and just had a mif entry for "Service" as a mbstring neither produced a different output...Tried to dump using Ferror32 which did not dump any..._
    The sample C/C++ code as per suggestions were to do the following...
    _1) Have a string with the entire XML for Service_
    xmldata="<Service Name=\"TestService"\ Version="1.1\"_ xsi:noNamespaceSchemaLocation=\"Untitled6.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">_
    _     <DateTime>2001-12-17T09:30:47Z</DateTime>_
    _     <UUID>text</UUID>_
    _</Service>";_
    _2) Use Fmbpack32 to create a mbstring data_
    _memcpy(reqmbptr, (char*)xmldata.data(),xmldata.length());_
    _len=xmldata.length();_
    _Fmbpack32(mbcodeName,reqmbptr,len, packdata,(FLDLEN32 *)&packedlen,0);_
    userlog("Size of packedlen is %d",packedlen);
    3) Add the packed data to the output buffer
    Fadd32(fmlbuffer,Service, packdata,packedlen );
    But we do not see the Service tag populated in the GWWS outbound request.Everything else makes it....any help on how to move ahead would be appreciated...

    It seems you switch to the 10gR3 GA and now the whole XML data is mapped to FLD_MBSTRING.
    I will forward my sample to you by mail, but this sample is not offical sample, it is just QA test case. You can refere it and check what's the difference.
    Please let me know your mail address.
    Regards,
    Xu he

  • Search and Replace XML TAG using JAVA

    Hi All,
    I have an XML file, say RESULT.XML Which has about 30000 Lines (yes Thirty Thousand ). For some reason i need to replace an existing tag with a different tag(not the value inside the tag, But the tag itself) . I am facing a challenge. I will explain it as below.
    I have a csv file which has 2 values as given below
    <VALUE A> , <VALUE B>
    where <VALUE A> is an existing node in the RESULT.XML and <VALUE B> is the node that should replace <VALUE A> in the RESULT.XML
    i have 500 such entries in the file.
    Now i need to write a program to read the csv file, Search <VALUE A> in the RESULT.XML and Replace it with <VALUE B> of the csv file.
    please let me know how do i start with this.
    I really want to fix this issue.
    Existing Node = <Product ID="role (contact) 3" UserTypeID="Product Number">_
    To be changed to = <Product ID= role (contact)3" UserTypeID="Product Number">_
    please reply if you need any further information
    Thanks in Advance
    Manzoor

    Sounds like a job for XSLT or Perl not Java though it can be done in Java. In Java I would initially try
    1) Read the csv file using one of the many free CSV parsers and build a Map<String,String>.
    2) Create a Rewriter using the map keys as targets and use the map values as replacements.
    3) Read the XML file line by line and process each line with the Rewriter.
    4) Save each line to an output file.
    For a one-off task this would probably serve but it could prove very slow if you need to run this on a daily basis.

Maybe you are looking for

  • Looking for help with iweb...

    i recently got iweb 08 and have been trying to get a few things to work... first of all, is there a way to put adsense ad's into text boxes (and then use word wrap), also, ive noticed that what ive done in the meantime is to create a box inside my te

  • How to include External .JS File in .aspx and .ascx page???

    This is my Code:: .aspx Code::: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Calculator_Using_UserControl_And_Js.aspx.cs" Inherits="Calculator_Using_UserControl_And_Js" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head r

  • To find my errror in this decode function

    SELECT OFF_NAME,off_name_form , SUBURB_FORM, BRAND1, BRAND2, DECODE(BRAND2, BRAND2 IS NOR NULL, BRAND2||' '||'-'||' '||OFF_NAME_FORM, BRAND1||' '||'-'||' '||OFF_NAME_FORM) from REL14_8_AU_POI_INTERM A, POI_RELEASE.REL14_8_AU_POI_BRAND B WHERE A.IDX=B

  • Display item visual attribute

    Hello. Is there a way to use set_item_instance_property on display item? Or change font color of disabled text item? Thanks.

  • Initial inventory upload using LSMW,BDC

    Dear Friends, I am trying to upload data for Initial inventory capturing of valuation type for t.code MB1C using LSMW,BDC BECAUSE of valuation type it is not capturing please guide me.I am using SAP Ecc 5 version. Thanks in advance. Rafeeq ahmed