Escaping xml string

how to escape <,> in xml string to &lt; ,
&gt;.is it possible to convert the entire xml string into this
format
ex:
<root> <sample><id> 89
</id></sample></root>
this has to be converted into
&lt; root&gt;. &lt; sample&gt;. &lt;
id&gt;. 89 &lt; /id&gt;. &lt; /sample&gt;.
&lt; /root&gt;.

myString="<root> <sample><id> 89
</id></sample></root>";
myString.split("<").join("&lt;");

Similar Messages

  • Escape XML Strings with JDK class

    Hi,
    can anyone tell me how to escape XML-Strings with classes of the JDK?
    When searching I only was pointed to StringEscapeUtils from apache.commons.lang, but we would prefer to use the JDK instead of integrating an external lib.
    Our aim is to escape an XML attribute, so a CDATA is not applicable for us in this case.
    Thanks
    Jan

    I implemented it by myself:
    public static String escapeXmlAttribute(String attributeValue) {
            StringBuffer result = new StringBuffer();
            for (int c = 0; c < attributeValue.length(); ++c) {
                if (attributeValue.charAt(c) == '"') {
                    result.append("&#34;");
                } else if (attributeValue.charAt(c) == '&') {
                    result.append("&#38;");
                } else if (attributeValue.charAt(c) == '<') {
                    result.append("<");
                } else if (attributeValue.charAt(c) == '>') {
                    result.append(">");
                } else {
                    result.append(attributeValue.charAt(c));
            return result.toString();
        }{code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to get an xml string into a Document w/o escaping mark-up characters?

    Hi,
    I am using one of the latest xerces using Java. I am pretty sure I am using xerces-2.
    I have an existing Document and I am trying to add more content to it. The new content itself is xml string. I am trying to insert this xml string into the document using document.createTextNode. I am able to insert, but somewhere it is escaping the mark-up characters (<,>,etc). When I convert the document into String, I can see, for example, <userData> instead of <userData>.
    There is an alternative option to accomplish this by creating a new document with this xml string, get the root element, import this element into my document. Execution time for this procedure is very high - means, this is very bad in terms of time-wise performance.
    Can any help on how to accomplish this (bringing an xml string into a document without escaping mark-up characters) in time-efficient way.

    So you want to treat the contents of the string as XML rather than as text? Then you have to parse it.
    Or if your reason for asking is just that you don't like the look of escaped text, then use a CDATA section to contain the text.

  • Escaping characters in SOAP Envelope XML string

    Hello,
    I have a manual web service reference (i.e. a XML String parametrized with more fields from my apex page). Sometimes the web service call fails because the user can enter special XML characters in the text field (this in consequence makes the XML String invalid XML). Do you know any elegant way to deal with this problem? Having a process that does htf.escape_sc for each text field in the same page I have my text field is a bit complcated in my case.
    Are there any other options?
    Many thanks in advance

    Hi "user11085282",
    you might try to wrap the user input in CDATA sections ... this is the "XML way" to have special characters in a document without escaping them. CDATA sections look
    as follows
    <tag><![CDATA[& & < <> >]]></tag>
    http://www.w3schools.com/xml/xml_cdata.asp
    Hope this helps ...
    Carsten Czarski
    Deutschsprachige APEX-Community: Tipps, Tricks, Best Practice
    http://tinyurl.com/apexcommunity
    SQL und PL/SQL: Tipps, Tricks & Best Practice
    http://sql-plsql-de.blogspot.com
    Twitter: @cczarski @oraclebudb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to escape XML in BPEL?

    I have a part of a outputmessage in an element HTML of xsd:any. This element contains HTML which i have to transform to escaped XML.
    Therefore i created the following embedded java code.
    String htmlContent = ((oracle.xml.parser.v2.XMLElement)getVariableData("l_GetBericht_Output","reply","/ns5:GetBerichtResponse/ns14:Bericht/ns14:HTML")).getFirstChild().getNodeValue() ;
    htmlContent.replaceAll("<","&lt;") ;
    htmlContent.replaceAll(">","&gt;") ;
    setVariableData("TestHTMLContent",htmlContent);
    Message in l_GetBericht_Output starts with;
    <l_GetBericht_Output>
    <part name="reply">
    <sbtn:GetBerichtResponse>
    <ns3:Bericht>
    <ns3:Onderwerp>sdjasldjalsda</ns3:Onderwerp>
    <ns3:Tekst/>
    <ns3:HTML>
    <HTML>
    <div>
    <p>Data</p>
    <p>
    <p>
    de heer ...
    The result of the selection in BPEL variable TestHTMLContent is empty though.
    Anyone any thoughts ?
    Is there a better way to transform XML to escaped XML ?
    Why is my selection null ?
    Cheers,
    Peter

    Try this.
    xpath query for BPEL,  escaping double quotes
    Should work.
    Thanks,
    Vijay

  • Encoding of xml string

    Hi,
    I am trying to send dynamically built xml string thru xsp page which calls the servlet and sends the xml string as parameter. I can't use URLEncoder because it converts < > to some other chars.
    Could some one help or tell me where to find docs for this.
    Thanks,

    If you have a string that happens to contain XML data, and you want to treat that data as text contents of a containing XML file instead of treating it as markup, then there are two ways to do that. One is to enclose it in a CDATA section:
    <![CDATA[...your data goes here...]]>
    The other is to escape the XML markup characters: & becomes &amp;, > becomes &gt;, < becomes &lt;, ' becomes &apos;, and " becomes &quot;.
    If that wasn't what you meant, try asking a different version of the question.

  • Creating XML string to be pushed into a JMS queue

    Hello All
    I am trying to pass the following XML string into a sender obj, however, I am not sure how it is supposed to be done, with the right escape sequencing.
    message.setText("<rawData><Name="Mike"></Name><Value="200"></rawData>");
    Please guide me.
    Thanks,
    AJ

    Login User should have the Admin privilege, Otherwise it is not possible to post data manually into the JMS Queue.
    Log into weblogic Console > click on JMS Module > <select the JMSModule where the Queue resides : e.g SOAJMSModule> >Select the Queue > Monitoring > Check the Box > click on "Show Message" > New > Post the data in "Body" section.
    Or, you can create another BS in OSB, pointing to that JMS Queue(using Input.xsd) . then execute the BS using your Input.xml

  • Escape XML.vi bug?

    When I convert an empty 2D array of I32 to XML using Flatten To XML then run it through the Escape XML.vi the ouput string contains NULLs.
    It seems that the tags with no actual value in between causes a NULL (\00) character to be produced between the tags. Is this right or is it a bug?
    Test by sending the constant "" through the "Escape XML.vi" that comes with LabVIEW 6.1.

    Yes, this is a bug. The problem is in xml.llb\EscapeChars.vi. The problem is that when the XML In string is empty the while loop still runs once...which produces 0, the default value for a U8. This \00 is now added in between the val tags. To fix this VI just add a case to the case structure for 0 and pass the array straight through.
    This bug will be fixed in the next version of LV.

  • How to avoid escaped XML in "Set Workflow Variable" | "By Composing"

    Hi, I have a proplem building an XML document using the action : "Set
    Workflow Variable" | "By Composing" dialog.
    The value of an element on the left pane is a variable in the right pane.
    This variable contains a snippet of XML.
    The problem is that when I print out the newly created document the XML I
    added to it from the variable has been escaped :
    In the example below I created a new xml document called new XML in its
    child_2 element I set its value to the XML String "xml".
    As you can see, the value of child 2 has been escaped. Is there a way to
    turn this feature off ??
    <Jan 30, 2002 10:02:35 AM GMT+10:00> <Info> <WLPI> <<wlpirequest>
    <started>2002-01-30 10:02:35.009</started>
    <requestor>wlpisystem</requestor>
    <templateid>17</templateid>
    <template-name>TEST ESCAPE XML</template-name>
    <templatedefinitionid>17</templatedefinitionid>
    <instanceid>10005</instanceid>
    <actions>
    <activatetask time="2002-01-30 10:02:35.009" taskid="2" name="Task 1"/>
    <setvariable time="2002-01-30 10:02:35.009" variable="xml">
    <StartActivity><businessRef>bus ref</businessRef><orderRef>order
    ref</orderRef><activityId>Activity ID</activityId></StartActivity>
    </setvariable>
    <setvariable time="2002-01-30 10:02:35.011" variable="newXML">
    <Root>
    <Child_1>Child 1 data</Child_1>
    <Child_2><StartActivity><businessRef>bus
    ref</businessRef><orderRef>order
    ref</orderRef><activityId>Activity
    ID</activityId></StartActivity></Child_2>
    </Root>
    </setvariable>
    <marktaskdone time="2002-01-30 10:02:35.011" taskid="2" name="Task 1"/>
    <workflowdone time="2002-01-30 10:02:35.032" name="TEST ESCAPE XML"/>
    </actions>
    <completed>2002-01-30 10:02:35.037</completed>
    </wlpirequest>
    >

    Hi,
    I also have this problem. It seems that a crude way around it, is to use a quick
    fix via calling a business operation that performs string substitution to replace
    the escaped entity references (<) and (>) with "<" ">". I have done this
    and the approach works for me. Just be careful and make sure that the xml string
    your are cleaning up doesn't contain any of these entity reference that you would
    like to keep. Otherwise it will definitily break your xml. I hope you have that
    luxury.
    The easiest way to do is is to write a StringUtil class with a static replace
    function, replace(source, old, new), expose this method as a business operation,
    then call twice to convert your xml string.
    I know this is pretty pathetic, but might help in the meanwhile until BEA provides
    this functionality.
    Lukas
    "Smita Agarwal" <[email protected]> wrote:
    >
    Hi Paul,
    I am getting the exact same problem , have you found a solution for
    it??
    It will be great to know if this problem is solved.
    I am using WLI2.1 sp1 and WLS6.1 sp2, even with these two configuration
    this problem
    is occuring
    cheers,
    Smita
    "Paul Rooney" <[email protected]> wrote:
    Hi, I have a proplem building an XML document using the action : "Set
    Workflow Variable" | "By Composing" dialog.
    The value of an element on the left pane is a variable in the rightpane.
    This variable contains a snippet of XML.
    The problem is that when I print out the newly created document theXML
    I
    added to it from the variable has been escaped :
    In the example below I created a new xml document called new XML inits
    child_2 element I set its value to the XML String "xml".
    As you can see, the value of child 2 has been escaped. Is there a way
    to
    turn this feature off ??
    <Jan 30, 2002 10:02:35 AM GMT+10:00> <Info> <WLPI> <<wlpirequest>
    <started>2002-01-30 10:02:35.009</started>
    <requestor>wlpisystem</requestor>
    <templateid>17</templateid>
    <template-name>TEST ESCAPE XML</template-name>
    <templatedefinitionid>17</templatedefinitionid>
    <instanceid>10005</instanceid>
    <actions>
    <activatetask time="2002-01-30 10:02:35.009" taskid="2" name="Task
    1"/>
    <setvariable time="2002-01-30 10:02:35.009" variable="xml">
    <StartActivity><businessRef>bus ref</businessRef><orderRef>order
    ref</orderRef><activityId>Activity ID</activityId></StartActivity>
    </setvariable>
    <setvariable time="2002-01-30 10:02:35.011" variable="newXML">
    <Root>
    <Child_1>Child 1 data</Child_1>
    <Child_2><StartActivity><businessRef>bus
    ref</businessRef><orderRef>order
    ref</orderRef><activityId>Activity
    ID</activityId></StartActivity></Child_2>
    </Root>
    </setvariable>
    <marktaskdone time="2002-01-30 10:02:35.011" taskid="2" name="Task
    1"/>
    <workflowdone time="2002-01-30 10:02:35.032" name="TEST ESCAPE XML"/>
    </actions>
    <completed>2002-01-30 10:02:35.037</completed>
    </wlpirequest>
    >

  • Xml string passed as parameter to xsql

    I am trying to pass xml string as parameter to xsql.But having problems with the < and > .I tried to escape
    those chars but but i am not getting desired output.Could you please suggest how to pass the xml string .
    <xsql:include-xsql href="order.xsql?neworder='{@neworder}'
    i trying to pass neworder parameter as xml string which contains data to update 2-3 table .

    u can't post a parameter valued by a xml string,because of the xml string must be
    has xml element with attributes. as follows:
    <row num="1">
    the "=" will make the web container got error
    when parsing http request parameters's name and value pair.
    solution:
    1. use "post" method submit your parameter
    2. use microsoft xml http compoment post your param as a parameter
    of it's "send" method, and set the request contentType header "text/xml"
    in xsql file:
    <xsql:set-page-param name="param1" xpath="/parameters/neworder"/>
    try it :->

  • Converting SQL Server text field containing XML string to XI XML via JDBC

    Hello
    My client has a SQL Server database containing a field of type Text which contains an XML string e.g.
    <DispatchJob> <DispatchDateTime>2003-09-29T13:29:15</DispatchDateTime> <AssignedFSE>F118</AssignedFSE> <DispatchJobPurchase> <DealerID>14C5</DealerID> <DateOfPurchase>1997-10-01T00:00:00</DateOfPurchase> </DispatchJob>
    I am using JDBC to access this but could someone please recommend the best and easiest solution for converting this string to XI XML for subsequent mapping to BAPI or IDOC or ABAP Proxy and transmission to SAP. There are other fields as well in the database table so thoughts at the moment are to use a normal graphical message mapping followed by an XSL mapping. Will an XSL mapping be able to do this and if so is that the best solution?
    Also I need to do the reverse of this and take fields coming from SAP via BAPI,IDOC etc. and convert them to a single database table field as an XML string also via the JDBC adapter. What is the best way to do this. Could it be done simply with functions in the graphical mapping e.g. concatenate?
    Thank you in advance.
    Trevor

    Hi Michal
    Thanks for the prompt reply.
    I was anticipating XSLT for reading from the SQL Server database and converting the XML string.
    But how would you convert the individual fields from SAP into a single field as an XML string for storing in the SQL Server database? What approach would you use?
    Regards
    Trevor

  • Performance problem submitting big XML string parameter to the web service

    We deployed a web service on the OC4J via oracle.j2ee.ws.StatelessJavaRpcWebService . This web service takes one string as a parameter. The string contains XML. Evrything works great UNLESS input XML string reaches 5Mb in size. When it happens OC4J does something with it for about 10 minutes (yes, minutes) before it calls the web service method. At this time java.exe consumes 100% of CPU.
    WE tried to increase JVM heap size, stack size, etc, - no effect.
    Please, help!
    Thank you in advance,
    Vlad.

    Hi Sheldon,
    What i feel is that it's not been handled in your webservice if the parameter is null or "" <blank> space
    i just you to take care in webservice that if the parameter is null or "" pass the parameter null to the stored proc
    Regards
    Pavan

  • How can i read XML string in a loop???

    i changed xml file reader to xml string reader by
    looking around this and other forums.
    here is the code.
    public class XMLTester2 {
        public static void main(String[] args) {
            String s = "<firsttag><secondtag>123</secondtag></firsttag>";
            java.io.Reader reader = new java.io.StringReader(s);
            org.xml.sax.InputSource source = new org.xml.sax.InputSource(reader);
            org.w3c.dom.Document doc = null;
            javax.xml.parsers.DocumentBuilderFactory fact = javax.xml.parsers.DocumentBuilderFactory.newInstance();
            try {
                javax.xml.parsers.DocumentBuilder builder = fact.newDocumentBuilder();
                doc = builder.parse(source);
            } catch (javax.xml.parsers.ParserConfigurationException pce) {
            } catch (org.xml.sax.SAXException se) {
            } catch (java.io.IOException ioe) {
            } finally {
                try {
                    reader.close();
                } catch (java.io.IOException ignored) {
    }i put this stuff into a loop, but i always ends up
    having new in the loop.
                String inputLine = "Start";
                // define what's needed for XML messages
                Reader reader = new StringReader(inputLine);
                InputSource source = new InputSource(reader);
                Document doc = null;
                DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = null;
                Node xmlNode = null;
                try {
                    builder = fact.newDocumentBuilder();
                } catch (ParserConfigurationException pce) {
                // -->
                while ( (inputLine = in.readLine()) != null) {
                    System.out.println("readLine() : {" + inputLine + "}");
                    reader = new StringReader(inputLine);
                    source.setCharacterStream(reader);
                    try {
                        doc = builder.parse(source);
                    } catch (SAXException se) {
                        System.out.println("SAXException : " + se);
                        System.out.println("SAXException source : " + source.toString() );
                        se.printStackTrace();
                    } catch (IOException ioe) {
                        System.out.println("IOException : " + ioe);
                    } finally {
                        try {
                            reader.close();
                        } catch (IOException ignored) {
                    reader = null;i know putting new in the loop is VERY bad.
    i gotto get ride of this new from the loop.
    can anyone help me?

    i know putting new in the loop is VERY bad.
    i gotto get ride of this new from the loop.Don't design your application based on one-liners you heard somewhere. Do some timings to see if it matters. My guess would be that parsing an XML file would take a fair bit longer than creating a StringReader object. And you do need a new StringReader each time, they aren't reusable, so the alternatives are not obvious. And don't accept my guess about the timings, check it for yourself.

  • Getting Error while creating Document object  after  parsing XML String

    Hi All,
    I have been trying to parse an XML string using the StringReader and InputSource interface but when I am trying to create Document Object using Parse() method getting error like
    [Fatal Error] :2:6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
    seorg.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
    Please find the code below which i have been experimenting with:
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.StringReader;
    import java.util.List;
    import java.util.*;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import java.io.*;
    public class TestMain {
         public static void main(String[] args) {
              String file = "";
              file = loadFileContent("C:\\Test.xml");
              System.out.println("contents >> "+file);
              parseQuickLinksFileContent(file);
    public static void parseQuickLinksFileContent(String fileContents) {
    PWMQuickLinksModelVO objPWMQuickLinksModelVO = new PWMQuickLinksModelVO();
         try {
    DocumentBuilderFactory factory =           DocumentBuilderFactory.newInstance();
         DocumentBuilder builder = factory.newDocumentBuilder();
         StringReader objRd = new StringReader(fileContents);
         InputSource objIs = new InputSource(objRd);
         Document document = builder.parse(objIs); // HERE I am getting Error.
         System.out.println(document.toString());
    What is happening while I am using builder.parse() method ???
    Thanks,
    Rajendra.

    Getting following error
    [Fatal Error] :2:6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
    seorg.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.

  • Extracting elements from an xml string - org.apache.xerces.dom.DeferredText

    Hello all,
    I am new to xml, and I thought I had a handle on things until I got this problem...I am getting an xml string from the body of an e-mail message, and then I am trying to extract elements out of it. Here is an example xml string:
    <?xml version="1.0" encoding="UTF-8"?>
    <filterRoot>
       <filter action="MOVE" bool="AND" name="My Saved Filter" target="Deleted Items">
          <condition attribute="TO" bool="AND" contains="CONTAINS">
             <value>[email protected]</value>
             <value>[email protected]</value>
             <value>[email protected]</value>
             <value>[email protected]</value>
             <value>[email protected]</value>
          </condition>
       </filter>
    </filterRoot>I am trying to extract the <filter> element out and store it into a Vector of Elements (called, not surprisingly, filters). However, I am getting a class cast exception:
    java.lang.ClassCastException: org.apache.xerces.dom.DeferredTextImplIt is being called from where I trying to extract the <filter> in this way:
            filterRoot = doc.getDocumentElement(); // get topmost element
            NodeList list = filterRoot.getChildNodes();
            Vector newFilters = new Vector();
            debug("There are "+list.getLength()+" filters in document");
            for(int i=0; i<list.getLength(); i++) {
                Node n = list.item(i);
                debug("Node "+i+" getNodeValue() is "+n.getNodeValue());
                Element temp = (Element)n;
                newFilters.add(temp);
            }Perhaps my question is, how do I correctly get hold of the <filter> node so that I may cast it as an Element?
    thanks,
    Riz

    Yes, I already knew that it is not a bug.
    But, I got next step problem.
    I put "false" to "include-ignorable-whitespace" feature in xerces parser.
    But, I still found unnecessary TextNodes in my parser object.
    Feature link : http://xerces.apache.org/xerces-j/features.html.
    I use xerces-2_8_0.
    DOMParser parser = new DOMParser();
    parser.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace", false);
    parser.parse(inputSource);
    document = ps.getDocument();
    System.out.println(document.getDocumentElement().getChildNodes().length()); // still wrong lengthIs tehre any example of usage this feature?
    What is default defination of white-space "\n "(enter with one space) or " "(juz white space) or something else?
    Thanks,

Maybe you are looking for

  • How to install Photoshop on a new computer

    Jeff, That option is not working for me because I have a subscription to Adobe Photoshop rather than a product. When I view my orders, it says I have no orders, I can only see my purchases through the "my subscription and services" link. I do not see

  • Does new OS allow my iMac to take more RAM

    Hi I have an iMac 2.66Ghz 24" (early 2009) From this article I have always understood that I am limited to a max of 8GB Ram (2 x 4GB sticks) http://support.apple.com/kb/HT1423#2 I started off on Snow Leopard and am now on Mountain Lion Someone told m

  • Safari exits out when I go to Yahoo! Games

    This problem started about three days ago, when I went to do the daily crossword, and Safari just exits out. How can I fix it? I tried restarting the computer, but it didn't help.

  • Tools for WSDL to ..........

    Hi I am writing a service which will be deployed and running on weblogic 7.0. Now once i expose WSDL file tools like WSDL2JAVA can generate stubs out of WSDL. My concern is WSDL2JAVA is there with AXIS and couple of other tools. What would i do if i

  • Configuring host and remote trading partners

    Hi, Being new to B2B, I have a very basic doubt. I have two machines, one which I am using as the host trading partner and the other the remote trading partner. Would the steps involved in configuring the host trading partner be the same as the ones