Appending tag to xml

hi
i have a xml, i m using SAX parser to parse it,I m able to parse But now I want to append the tag to each node
THIS IS MY sample.xml
<books>
<book>
<title>Advanced Java 2 How To Program</title>
<author>Deitel and Deitel</author>
</book>
<book>
<title>J2ME The Complete Reference</title>
<author>James Keogh</author>
</book>
</books>
I want to append the <code> tag so that my xml should look like this
<books>
<book>
<code>10</code>
<title>Advanced Java 2 How To Program</title>
<author>Deitel and Deitel</author>
</book>
<book>
<code>20</code>
<title>J2ME The Complete Reference</title>
<author>James Keogh</author>
</book>
</books>
MY CODE IS->
import org.xml.sax.*;
import org.apache.xerces.parsers.SAXParser;
import java.io.*;
import java.net.*;
public class SAXSample extends HandlerBase
     Locator locator;
     static public void main(String[] argv)
          try
               if (argv.length != 1)
               System.err.println("Usage: SAXSample filename");
               System.exit(1);
               SAXSample sample = new SAXSample();
               Parser parser = new SAXParser();
               parser.setDocumentHandler(sample);
               parser.setErrorHandler(sample);
               parser.parse(argv[0]);
          catch (Exception e)
          System.out.println(e.toString());
          }//main
public void setDocumentLocator (Locator locator)
System.out.println("SetDocumentLocator:");
this.locator = locator;
public void startDocument()
System.out.println("StartDocument");
public void endDocument() throws SAXException
System.out.println("EndDocument");
public void startElement(String name, AttributeList atts) throws SAXException
System.out.println("StartElement:"+name);
public void endElement(String name) throws SAXException
System.out.println("EndElement:"+name);
public void characters(char[] cbuf, int start, int len)
System.out.print("Characters:");
System.out.println(new String(cbuf,start,len));
can any one help me
thanx in advance

Actually, from the example you posted, you want to add a whole <code> element, not just a <code> tag.
But anyway, just parsing a document doesn't, and can't, modify the document in any way. You'll need to first change your logic to echo the input to a new document. Then, change your logic again so that after writing out the start tag for the <book> element, you write out the <code> element as well.

Similar Messages

  • Changing data in XML variable and appending tags in XML  document

    Hi all,
    I am new to weblogic Integrator . can any one help me concerning following problem
    1. I get input XML message to my workflow which I stores in XML variable. after
    some processing i want to change value of one tag in XML stored in XML variable.
    How I can do thaat ?
    2. I have some XML like
    <root>
    <child>
    <a> </A>
    </child>
    <child>
    </child>
    </root>
    and i want to append multiple such tag at run time . how i can do the same
    in wli
    Please let me know your suggestion
    Kiran

    For both cases I suggest you use XSLT.
    Mike
    "Kiran" <[email protected]> wrote in message
    news:3c720cd2$[email protected]..
    >
    Hi all,
    I am new to weblogic Integrator . can any one help me concerning followingproblem
    1. I get input XML message to my workflow which I stores in XML variable.after
    some processing i want to change value of one tag in XML stored in XMLvariable.
    How I can do thaat ?
    2. I have some XML like
    <root>
    <child>
    <a> </A>
    </child>
    <child>
    </child>
    </root>
    and i want to append multiple such tag at run time . how i can do thesame
    in wli
    Please let me know your suggestion
    Kiran

  • Append messages with out header tag " ?xml version="1.0" encoding="UTF-8"?

    Hi all,
    I am doing file to file scenario.When I use APPEND in the File adapter it is also adding <?xml version="1.0" encoding="UTF-8" ?>
    I need to send a file for every 10 minutes consolidate all files and send at the end of the day.
    <?xml version="1.0" encoding="UTF-8" ?>
    <ID>31154</ID>
    The next time when i send the file with different< ID>31155</ID>
    it should append ignoring <?xml version="1.0" encoding="UTF-8" ?>
    The consolidated file must look like this...
    <?xml version="1.0" encoding="UTF-8" ?>
    <ID>31154</ID>
    < ID>31155</ID>
    Thanks ,
    Srinivas

    Hey
    as pointed out by everyone else,there is no straight way for this,one thing u can do is that create two separate scenarios.
    in first scenario use content conversion on receiver side and keep on appending the text for 10 mins (guess this is ur pooling interval),now since ur using FCC u wont get <?xml version="1.0" encoding="UTF-8" ?>,you will get a flat file on receiver side.
    after 10 mins u can have one more scenario which picks up this flat file and this time use FCC on sender side so that it will convert this flat file to XML,in this way you will get <?xml version="1.0" encoding="UTF-8" ?> only once.
    hope this solves ur problem.
    just make sure that you specify correct polling intervals for both the scenarios.
    thanx
    ahmad

  • How to Include html tag in xml

    Hi,
    Is there any way to include html tags in xml?
    For Example, I'm using xsl to get the value of FIELD_1 from fetch.xml
    In fetch.xml, I have the tag
    <FIELD_1>
    <font color='#8080ff'>&#160;<font face='Times New Roman, Times' size='28'>Testing font and color</font></font>
    </FIELD_1>
    But If I tried to read the value from xsl like <xsl:value-of select="FIELD_1"/> I'm just gettig the display 'Testing font and color' without the specified font and color....
    How to achieve this?
    Thanks
    Selva.

    Hi,
    Thanks for the input.
    I tried with the below code
    <fo:block space-after="5mm" font-family="Arial"><xsl:copy-of select="FIELD_1"/></fo:block>
    But I'm getting the below error...
    "An invalid XML character (Unicode: 0xa0) was found in the element content of the document."
    Below is the code included in the xsl....
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="Values"><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
    <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="3cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
    <fo:region-body/>
    </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="simpleA4">
    <fo:flow flow-name="xsl-region-body">
    <fo:block space-after="5mm" font-family="Arial"><xsl:copy-of select="FIELD_1"/></fo:block>
    </fo:flow> </fo:page-sequence> </fo:root> </xsl:template></xsl:stylesheet>
    Is there any mistakes in the above code?
    Regards,
    Selva.

  • How can we get  tag of XML file using SAX

    Hi ,
    I'm parsing one SAX parser , I'have almost done this parsing. i have faced problem for one case, i'e how can we get tag from XML file using SAX parser?
    XML file is
    <DFProperties>
    <AccessType>
    <Get/>
    </AccessType> <Description>
    gdhhd
    </Description>
    <DFFormat>
    <chr/>
    </DFFormat>
    <Scope>
    <Permanent/>
    </Scope>
    <DFTitle>gsgd</DFTitle>
    <DFType>
    <MIME>text/plain</MIME>
    </DFType>
    </DFProperties>
    I want out like GET and Permanent... means this one tag which is present inside of another tag.
    Handler class like
    public void startElement(String namespaceURI, String localName,
                   String qName, Attributes atts) throws SAXException {
    if(_ACCESSTYPE.equals(localName)){
                   accessTypeElement=ACCESSTYPE;
    public void characters(char[] ch, int start, int length)
                   throws SAXException {
    if (_ACCESSTYPE.equals(_accessTypeElement)) {
                   String strValue = new String(ch, start, length);
                   System.out.println("Accestype-----------------------------> " + strValue);
                   //System.out.println(" " + strValue);
    public void endElement(String namespaceURI, String localName, String qName)
                   throws SAXException {
    if (_ACCESSTYPE.equals(localName)) {
                   _accessTypeElement = "";
    . please any body help me

    Hi ,
    I have one problem,Please help me.
    1. How can I'll identify where exactly my Node is ended,means how how can we find corresponding nodename? in partcular place
    <Node> .............starttag1
    <NodeName>Test</NodeName>
    <Node>................starttag2
    <nodeName>test1</NodeName>
    </Node>..................endtag2
    <Node>.....................starttag3
    <NodeName><NodeName>
    <Node> .........................starttag4
    <NodeName>test4</NodeName>
    </Node>.......enddtag4
    </Node>...........end tag3
    </Node>............endtag1
    my code is below
    private final String _NODENAME = "NodeName";
    private final String _NODE = "Node";
    private String _nodeElement = "";
         private String _NodeNameElement = "";
    public void startElement(String namespaceURI, String localName,
                   String qName, Attributes atts) throws SAXException {
    if (_NODENAME.equals(localName)) {
                   NodeNameElement = NODENAME;
    if(_NODE.equals(localName)){
         System.out.println("start");
         if (_NODENAME.equals(localName)) {
                   NodeNameElement = NODENAME;
    public void characters(char[] ch, int start, int length)
                   throws SAXException {
    if (_NODENAME.equals(_NodeNameElement)) {
                   String strValue = new String(ch, start, length);
                   String sttt=strValue;
                   System.out.println("NODENAME: ************* " + strValue);
    if(_NODE.equals(_nodeElement)){
                   if (_NODENAME.equals(_NodeNameElement)) {
                        String strValue = new String(ch, start, length);
                        String sttt=strValue;
                        System.out.println("nodevalue********** " + strValue);
    public void endElement(String namespaceURI, String localName, String qName)
                   throws SAXException {
    if (_NODENAME.equals(localName)) {
                   _NodeNameElement = "";
    if(_NODE.equals(localName)){
                   System.out.println("NODENAME: %%%%%%%%%");
    please help me. How can I figure node ending for particular nodename

  • Remove XML tags from XML element in Oracle

    Hi,
    I have a requirement where I have to remove all the xml tags from xml element with banks, currently I'm using replace 4 times to replace all different types of xml tags, performance is really bad. is there any better option to remove xml tags from xml data leaving the actual data. please find the example data below.
    select
    TO_CLOB(REPLACE(REPLACE(REPLACE(REPLACE
    ('<Concatcolumn><ConcatGroupID>MyText Data goes here </ConcatGroupID><ConcatGroupID>Data agian</ConcatGroupID></Concatcolumn>','<ConcatGroupID>'),'<Concatcolumn>'),'</ConcatGroupID>',';'),';</Concatcolumn>')) AS Concatcolumn
    from dual
    **************Out put*************
    MyText Data goes here ;Data agian

    One way is to use xquery:
    SQL> with t as
    select xmltype('<Concatcolumn>
                          <ConcatGroupID>MyText Data goes here </ConcatGroupID><ConcatGroupID>Data agian</ConcatGroupID></Concatcolumn>'
       ) xml from dual
    select xmlquery('string-join(//text(), ";")' passing xml returning content).getclobval() xml from t
    XML                                                              
    MyText Data goes here ;Data agian                                
    1 row selected.

  • How to make the tags in XML file case insensitive

    Hi,
    I have a ReadXML class which reads an xml file. This class also has a method which receives a string-child from another class and uses this string-chile to match it with the child tag in the xml file, and returns the child tag's value.
    Now, my problem is this, the child tag in xml may be in a case different from the case of the string-child received from another class.
    How do I modify it, so the program does not return a null pointer exception because the strings did not match for want of uppercase or lowercase letters.
    Thanks
    Sangeetha

    I'm not sure what you are getting at. Is a string child the contents of a node treated as text?
    If you are trying to match a child node regardless of case I doubt this is possible as the XML standard says an XML document is case sensitive so if your parser ignored case it would not be XML complient.
    Hope this helps.

  • How use forEach tag in xml tag library

    Hi,
    Can u please explain the procedure for using forEach tag for displaying the parsed xml tags?
    This is the code snippet
    <%@ page contentType="text/html" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
    <html>
    <body>
         <c:import url="\books.xml" var="url" />
         <x:parse xml="${url}" var="doc" />
              <x:forEach var="n" select="${doc}/books/book">
                   <x:out select="${n}/title"/>
                   <x:out select="${n}/author" />
         </x:forEach>
    </body>
    </html>
    but I got the fallowing error.
    java.lang.NoClassDefFoundError: org/saxpath/SAXPathException
         at org.apache.taglibs.standard.tag.common.xml.ForEachTag.prepare(ForEachTag.java:51)
         at javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:262)
         at jsp_servlet.__index._jspService(__index.java:197)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

    Just the same way as you do in JSP. Since JSF 1.2 you can use unified EL #{ } in c:forEach.
    You can also use Tomahawk's [t:dataList|http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_dataList.html] by the way. It is more efficient.

  • Closing tag in xml transformation

    Hi experts,
    I have the following ABAP code:
    ABAP itab to XML string
      CALL TRANSFORMATION id SOURCE data = ti_stocks[]
                             RESULT XML    ps_output.
    The result in ps_output should be an xml like this
    <?xml version="1.0" encoding="utf-16" ?>
    <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
    <asx:values>
    <DATA>
    <ZTABLE_STO>
      <FIELD1 /> ABC</FIELD1>
      <FIELD2 />0300</FIELD2>
      <FIELD3 />1</FIELD3>
      </ZTABLE_STO>
    etc.
    However, if my internal table ti_stocks contains the field1 with an empty value then the xml is incorrect without its corresponding closing tag:
    <?xml version="1.0" encoding="utf-16" ?>
    <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
    <asx:values>
    <DATA>
    <ZTABLE_STO>
      <FIELD1 />
      <FIELD2 />0300</FIELD2>
      <FIELD3 />1</FIELD3>
      </ZTABLE_STO>
    etc.
    How can I resolve this problem? I would like to have an open tag and a closing tag for every field.
    FIELD1 is a char type field.
    Thank you,
    Oscar
    Edited by: Oscar Arranz on Jan 26, 2012 2:46 PM

    Hello everyone, sorry for my english, I had the same requeriment for the end tag, the simple transformation give this result <xxx/> when the value was empty, and I did something similar to Oscar,
    i did the simple transformation and the result whas and xstring, i used a function to pass it to string, and then I make a replacement.
    here is some code:
    *  Genera XML
       data: xml_xstring          type xstring.
       data: w_xml                 type string.
       data: ixml                    type ref to if_ixml,
               streamfactory      type ref to if_ixml_stream_factory,
               encoding             type ref to if_ixml_encoding,
               ixml_ostream      type ref to if_ixml_ostream.
       data: resstream           type ref to if_ixml_ostream.
    ****Create an instance of the Ixml Processor
       ixml = cl_ixml=>create( ).
    *  ****Create the Stream Factory
       streamfactory = ixml->create_stream_factory( ).
    *  ****Create an Endcoding and Byte Order
       encoding = ixml->create_encoding( character_set = 'ISO-8859-1' byte_order = 0 ).
    *  *  ****Create the output stream with a pointer to our binary string
       ixml_ostream = streamfactory->create_ostream_xstring( xml_xstring ).
    *  ****Set the Encoding into a stream
       ixml_ostream->set_encoding( encoding = encoding ).
    ****Call simple Transformation
       call transformation zdte_libros
       source zcaratula = x_doc
       result xml ixml_ostream.
    *From xstring to string.
       call function 'HR_RU_CONVERT_HEX_TO_STRING'
              exporting
                     xstring = xml_xstring
              importing
                     cstring = w_xml.
    * <xxx/> to <xxx><xxx/>
       replace all occurrences of regex '<([^><\s]+)( [^><]+)?/>' in w_xml with '<$1$2></$1>'.
    Hope it helps someone with the same problem .

  • Reading jsp  tag using xml

    Hello friends,
    I have a problem.
    I have a jsp page in that i have to find a particular tags. using xml
    but i dont know about dtd and. please help me
    example.
    <input type ="text" value= "ss">
    now i want to find the above tag using xml
    so please give me the logic how to find a tag in jsp using xml. ?
    please help me.

    A JSP is for displaying data. Read after me:D-I-S-P-L-A-Y-I-N-G. It has no business parsing or
    reading or calculating anything.
    I don't know what the OP want's to do. Maybe he
    want's to write a application which replaces some
    html tags in JSP files.
    His post can also be interpreted that he want's to
    use JavaScript (DOM)) to find any particular tag.Hello,
    my problem is in our application some programmers have written hardcode in <intput tag> like <input type name ="hardcode" instead taking values from database dictonary.
    so now i have to find the line no. where they have written the hard code.
    for that my pl is asked to solve using dom.
    for that i need to find the html tags.
    but i m not able to do that.
    can u suggest me.
    Regards

  • Append new tag in xml schema

    Hi,
               I have created a local varibale and stored my xml schema (xml structure) in it. I am using a sql query to fetch the records from databae and populating it to the schema using Assignment action block. But I have a requirement that one of the tag in the xml schema should be added dynamicaly according to the result of the query. Can anyone help me on this? . In the Linktype I saw one option as Append xml. How can we use that option
    Please let me know if you have any thoughts on this
    Thanks in advance
    Shaji

    Hi Shaji,
    Please find the below link: It explains all the XML functions in MII Workbench.
    http://wbhelp.sap.com/manufacturing/xmii_120/en/44/7ca00d32406572e10000000a11466f/content.htm
    "Calculated Columns" can be useful here as per your requirements.
    For help on Link Types, go through the following link:
    http://wbhelp.sap.com/manufacturing/xmii_120/en/44/89aa7088cc6fb5e10000000a155369/content.htm
    Hope this will help you.
    Best regards,
    Kedar

  • Error for fetching long text in xml tag for xml publisher report

    My requirement is to fetch a large document which is in text format in XML output which can be printed in PDF format by using RTF method to generate PDF.But during XML ouput i got the following error-
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh
    button, or try again later.
    The following tags were not closed: XXBG_EAMWRREP_V1, LIST_G_WO_ACTIVITY_CODE, G_WO_ACTIVITY_CODE, LIST_G_MEDIA_ID1,
    G_MEDIA...
    XXBG_EAMWRREP_V1 is the rdf and LIST_G_WO_ACTIVITY_CODE, G_WO_ACTIVITY_CODE, LIST_G_MEDIA_ID1, G_MEDIA are the groups name. In the group
    G_MEDIA i am fetching long_text from attahcment in application. In Database table the datatype of the text attachment is 'long' and there is a huge text
    data loaded in large data editor of that column. If the text data volume is small enough then there is no problem for fetching the xml output.
    If we change the output format as HTMl then there is no problem for fetching the output for long text but for xml output format we are unable to fetch the data
    in xml tag.
    One thing to mention the oracle report is the copy of Maintenance Work Order Detail Report. The seeded report is HTML format in 11i. The requirement is to make it in xml report.
    Please help.

    Hi,
    Actually clob datatype is not available in oracle report builder datatype lov. Could you pls tell the other ways of converting that to clob in oracle report...

  • How to get the position of a tag in XML,when i am using the org.xml.sax

    Hi,
    I am able to parse a xml document.I want to get the position of a tag in the document.So that by keeping that as reference, i can access other tags.Plz help me.I am using org.xml.sax API.

    Hello Friends
    After research , I could also find another way to check the existence of a node .We can even use CHOOSE to check the existence.
    <xsl:choose>
          <xsl:when test="(/mynode)">
              your action if the mynode is found
          </xsl:when>
          <xsl:otherwise>
                    action if mynode is not found
          </xsl:otherwise>
    </xsl:choose>
    Thanks.
    Wishes
    Richa

  • How to get a sub tag in xml file

    As the xml file is the below thing ------
    <?xml version="1.0" encoding="UTF-8"?>
    <addRequest xmlns:spml="urn:oasis:names:tc:SPML:2:0">
         <data>
         <attributes>
                   <attr name="Objectclass">
                        <value>SafePolicy</value>
                   </attr>
                   <attr name="name">
                        <value>NewPolicy</value>
                   </attr>
                   <attr name="Resource">
                        <value>NewResourceclass</value>
                   </attr>
                   <attr name="Description">
                        <value>This is a New AccessPolicy</value>
                   </attr>
              </attributes>
         </data>
    </addRequest>
    The Schema has only the data and i was able to get the data object and the data can contain any namespace ,so i had the attributes and which inturn contain the attr and value .I have to get the Attributes , so that i can get the attr(name) and value pairs.Initially i did the unmarshal stuff and got until data but giving an error when i try to obtain the other tags .Can any body send the code for obtaining that by using the unmarshalling concept please.I need it .
    Thank you,

    Thank you,
    As i was trying to obtain the input to UI from an xml file by which the axis converts to java objects and inturn have to get the reply as xml file . The error was in the jar files ,when i loaded the jar files another time my code started working.

  • Inventing a new tag in XML

    hi,
    i m a beginer for the xml and my question is that if we r adding our own tag that how the DTD or XSL(XML schema language) is approve that tag.And we r not design any dtd for our tag.
    in short how can i invent the tag in my XML file.
    plz give me a brief answer.
    bye....

    XML is flexible. You can make ANY tag you want. Just make it and when you parse the XML file, check for it. The DTD is there as an added constraint to make sure that the XML file contains ONLY the tags you approve. But if no DTD is setup, you can make any tag you want.

Maybe you are looking for

  • Yikes, half my photos have gone to iphoto.data....

    Half my photos disappeared from my library, I found them in iphoto library DATA but how do i get them back in my library? It won't let me import them back... imac   Mac OS X (10.4.8)  

  • In iTunes 10.7, some of my podcasts don't transfer to my iPhone.

       When I look in iTunes at the podcast list on my phone, the ones that don't transfer have a grey logo beside them (grey circle with two circular white arrows in them.)  I don't see any reason why they shouldn't transfer.  What's going on?   I can d

  • Business Connector timeout during closing of databaseconnection

    Hi all I have problems with the connection from SAP Business connector to MS Access with JDBC-ODBC bridge. This works perfectly on an old server: BC46 running on Windows NT, connecting to an access97 database. I'm using the standard sun.jdbc.odbc.Jdb

  • Desktop Died - How to re-associate itunes on new computer?

    Hi, My desktop died an ugly death.  The C drive fried and I don't want to spend the 1000 bucks to have the information recalled.  How do I go about re-installing itunes and all of my software onto the new computer without reformatting my ipad and ipo

  • (Qeustion) WLS5.1 SNMP problem? Please help...

    Hello, all I am attaching the weblogic.properties, startWebLogic.cmd and startSNMPAgent.cmd I started the weblogic server 5.1 on port 7001. Then started the SNMP agent using the command "%JAVA% weblogic.SNMPAgent -password system -snmpPort 161 -serve