Getting next XML Element in a document

Hello,
I have an xml JDom Document and I need to get, given the name of an element, the next element in the document.
For example, with this document:
<ROOT>
    <APPLE></APPLE>
    <GRAPE></GRAPE>
    <PEAR></PEAR>
    <ORANGE></ORANGE>
    <GRAPE></GRAPE>
    <MELON></MELON>
</ROOT>I get a string like "ORANGE" and I need o get the next element in the document (GRAPE).
And if I get "GRAPE", I have to get "PEAR" and "MELON".
Is there anyway to get the following element without checking all the document elements?
Thank you

Is there anyway to get the following element without
checking all the document elements?Obviously not. But why is "not checking all the document elements" a requirement?

Similar Messages

  • 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.

  • Getting multiple XML elements with UCCX 4

    I am trying to pick up multiple elements with identical tags from an XML file.
    (Example)
    <NAME1>
    <PHONE>123-1234-3456</PHONE>
    <PHONE>506-245-5566</PHONE>
    </NAME1>
    I am able to pick up the first PHONE, but when using a second Get XML step I get the same again. How do we traverse the file without actually numbering the tags?
    (Thought I did this before, but maybe not...)
    regards
    Johnny

    Hi Johnny,
    Did you ever find a solution?  I'm running into the same scenario.
    Thanks!
    Mike

  • How to get the xml element and comment name in a page?

    I need to list all element and comment name in a page

    Hi,
    do
      //K2Vector<XMLReference> allXMLRefs;
                        std::vector<XMLReference> allXMLRefs;
      IActiveContext* context = GetExecutionContextSession()->GetActiveContext();
                        UIDRef documentUIDRef = ::GetUIDRef(context->GetContextDocument());
                        XMLReference rootXMLRef = GetRootXMLReference(documentUIDRef);
                        GetFlattenedElementList(documentUIDRef,allXMLRefs);
                        std::ostringstream os;
                        for(std::vector<XMLReference>::iterator it = allXMLRefs.begin(); it != allXMLRefs.end(); ++it)
                                  XMLReference nextref = *it;
                                  PMString tag_name;
                                  os.str("");
                                  os <<  AsString(nextref,tag_name).GetPlatformString().c_str();
      CAlert::WarningAlert(os.str().c_str());
              }while(kFalse);
    I use above code to get tag name.
    Any one help me to get the comment tag in XML

  • How can I get the Attribute Value in the existing XML Elements-Reg.

    Dear All,<br /><br />  I have the InDesign Document with xml Based, now I want to get the XML Elements name and XML Attributes for each Elements, using SDK Concepts. <br /><br />Example:<br /><br /> <chapter>  chapter1 </chapter> id = "ch001"<br /> <sec> Section ....</sec> id ="se001"<br /> <para> para ....</para> id="pa001"<br /><br />How can I get the XMLElements & XML Attributes in the InDesign-XML Structure.<br /><br />Please  any one can suggest me....<br /><br />Thanks & Regards<br />T.R.Harihara SudhaN

    Dear Dirk
    Many Thanks for the Suggestions, Now I search and study the XML concepts. Meanwhile, I need your suggestions for further Development in SDK -XML concepts.
    I am using the SnippetRunner -SDK file, their given some XML based programmes. [Create XML Elements, Elements + Attributes, XML Comments] and etc...
    Hope U will help me to Develop the SDK- XML Concepts.
    Thanks & Regards
    T.R.Harihara SuduhaN

  • [AS][CS4] How to get XML element of grep find result?

    Hi,
    Does anyone know how to get the xml element of a grep find result?
    I have multiple text frames, each containing multiple paragraphs. Each paragraph can contain one or more different xml tagged pieces of text.
    Using a simple search function I can locate the text I need, but how do I retreive the xml element applied to that piece of text.
    Using the "associated XML element" property, it doesn't work.
    set find what of find grep preferences to "€( )*(\\d)*"
    tell active document
              set myResult to find grep
              set myItem to item 1 of myResult
              set myElement to associated XML element of myItem
              -- The last line throws an error
    end tell
    The find result will return a collection of text objects.
    Thanks
    John

    Well I found this post that answered my question
    http://forums.ni.com/t5/LabVIEW/how-to-get-records​et-from-database/m-p/1471374?requireLogin=False

  • [CS3 JS WIN] Get XML Element of paragraph?

    Im trying to get the xml element of a selected paragraph.<br />ie:<br /><br /><item><br /><text><br /><code> This is some code </code>   <--this is selected in indesign<br /></text><br /></item><br /><br />When I try to use associatedXMLElements[0].xmlElements - it returns all different elements(item,text,code,etc) how do I get it to return the immediate XML Element?

    Well what I'm doing is selecting a textframe and then looping through the paragraphs, passing them to the procXML function which is when I try to get the xml element.
    The forums ate my structure:
    [item]
    [text]
    [code]This is some code[/code]
    [/text]
    [/item]

  • [AS CS3] getting the xml value?

    I'm having trouble returning the "Value" of my xml object. I can get all sorts of other attributes. I need to be able to return the value "123456". I must be missing something, or is this a real shortcoming?
    tell application "Adobe InDesign CS3"
    tell document 1
    get associated XML element of first page item
    --> XML element id 12 of XML element id 2 of document "Untitled-8"
    get XML attribute 1 of associated XML element of first page item
    --> XML attribute "TCnumber" of XML element id 12 of XML element id 2 of document "Untitled-8"
    get properties of (get XML attribute 1 of associated XML element of first page item)
    --> {value:"123456", parent:XML element id 12 of XML element id 2 of document "Untitled-8", index:1, name:"TCnumber", object reference:XML attribute "TCnumber" of XML element id 12 of XML element id 2 of document "Untitled-8"}
    get name of (get XML attribute 1 of associated XML element of first page item)
    -->TCnumber
    get index of (get XML attribute 1 of associated XML element of first page item)
    -->1
    get value of (get XML attribute 1 of associated XML element of first page item)
    --ERROR
    end tell
    end tell

    That's a nice one.
    The "get value" event takes precedence, it is probably understood by ScriptArg.
    For insiders: kGetValueScriptArgEventScriptElement
    You can use round brackets to disambiguate:
    get (value of ...)
    Dirk

  • [CS3] [JS] add XML  Element to Insertion Points

    hi list,
    i'll do some text parsing in indesign cs3 intended to add some xml elements to my document.
    i just wonder why i can't markup an insertion point. is the following approach correct? The code works fine, only the return value (stored in the _xml variable) is not the new element but the parent element. The same code works without using the insertion point (marking up the text object [xmlElements.add(_dokument.xmlTags.item("index") , erg[0]))] ).
    Any ideas or thoughts?
    var _dokument = app.activeDocument;
    main ();
    // ** main ()
    function main() {
    //Set the find options.
    app.findGrepPreferences = NothingEnum.nothing;
    app.changeGrepPreferences= NothingEnum.nothing;
    //find any string encloased by @
    app.findGrepPreferences.findWhat = "@.*?@";
    erg = _dokument.findGrep();
    while (erg.length > 0) {
    _xml = _dokument.xmlElements[0].xmlElements.item("text").xmlElements.add(_dokument.xmlTags.item( "index") , erg[0].insertionPoints[0]);
    erg[0].contents = "";
    erg = _dokument.findGrep();

    hi dave,
    gui testing is always a good idea :-) but in this case the behaviour is different:
    your observation is correct (anyway at least a strange behaviour compared to any xml editing tool i know == how adobe intended to insert an empty element?), tagging in the gui a tagged insertion point tags the whole story.
    in the script a new element is added but the return value is the parent element (the xmlElement of the whole story).
    this causes a problem when i add an attribute (the intention of the above script is to add references) which is added to the parent element.
    gregor

  • [JS-CS4] - How to read the XML Element and its Attributes

    Dear All,
      I have the doubt regarding: reading the xmlElement and its attributes.
    Here I droping the xml script
    //============= Start ======================//
    var myDoc = app.activeDocument;
    var Fpath = File("../Projects/Entity_map.xml");
      if (Fpath.exists)
       Fpath.open("r");
       var Cont= Fpath.read();
      var roots = new XML(Cont);
      var myEveryName = new Array();
      var myEveryContent = new Array();
      var myEveryAttributes = new Array();
      traverse(roots);
    //$.writeln(myEveryName);
    //$.writeln(myEveryContent);
    $.writeln(myEveryAttributes.length);
    for(var i=0; i<myEveryAttributes.length; i++)
      $.writeln(myEveryAttributes[i]);
    function traverse(tree) {
        myEveryName.push(tree.name());
    myEveryContent.push(tree.text());
      myEveryAttributes.push(tree.getAttribute);
    // you get the contents by using .text() insted of .name()
        if(tree.elements().length() > 0) {
            for(var i=0; i<tree.elements().length(); i++) {
                traverse(tree.elements()[i]);
    //============== End =====================//
    and the XML Structure is
    //===============XML =====================//
    <?xml version="1.0" encoding="UTF-8"?>< Entity_Convertion>
    < Entitys char="Ç" GID="173"/></ 
    Entity_Convertion>
    //===============End ====================//
    Here I'm getting the XML Elements and its contents, but not xmlAttributes.
    Please any one can help me, then I will appreciate...
    Thanks & Regards
    T.R.Harihara SudhaN

    Dear All,
      I have the doubt regarding: reading the xmlElement and its attributes.
    Here I droping the xml script
    //============= Start ======================//
    var myDoc = app.activeDocument;
    var Fpath = File("../Projects/Entity_map.xml");
      if (Fpath.exists)
       Fpath.open("r");
       var Cont= Fpath.read();
      var roots = new XML(Cont);
      var myEveryName = new Array();
      var myEveryContent = new Array();
      var myEveryAttributes = new Array();
      traverse(roots);
    //$.writeln(myEveryName);
    //$.writeln(myEveryContent);
    $.writeln(myEveryAttributes.length);
    for(var i=0; i<myEveryAttributes.length; i++)
      $.writeln(myEveryAttributes[i]);
    function traverse(tree) {
        myEveryName.push(tree.name());
    myEveryContent.push(tree.text());
      myEveryAttributes.push(tree.getAttribute);
    // you get the contents by using .text() insted of .name()
        if(tree.elements().length() > 0) {
            for(var i=0; i<tree.elements().length(); i++) {
                traverse(tree.elements()[i]);
    //============== End =====================//
    and the XML Structure is
    //===============XML =====================//
    <?xml version="1.0" encoding="UTF-8"?>< Entity_Convertion>
    < Entitys char="Ç" GID="173"/></ 
    Entity_Convertion>
    //===============End ====================//
    Here I'm getting the XML Elements and its contents, but not xmlAttributes.
    Please any one can help me, then I will appreciate...
    Thanks & Regards
    T.R.Harihara SudhaN

  • JS: how can find role in XML element attribute

    Dear All,
    We could gather "footnote" XML elements as an array. But we need to filter the elements which has "role=endnote" in the attributes from the group of common footnote tagged elements .
    Eg. <footnote xml:id="en2" label="2" role="endnote"> from myGetXMLElements("//footnote")
    Kindly assist to get footnote XML elements which has the role "endnote".
    regards
    Masthan

    Hi Fred,
    Yes, I got it. Thanks
    regards
    Masthan

  • [JS-CS4] Associated XML element...

    Hi,
    I'm going crazy with this.
    I have a table built with XML import and I need to get the XML element associated with a cell.
    I use this code:
    cell.associatedXMLElement
    but it always returns "null".
    Obviously that cell has a content in XML structure...
    Any idea why?
    Thanks.

    Here's my script:
    var my_doc = app.activeDocument;
    var my_table = my_doc.pages.firstItem().textFrames.firstItem().tables.firstItem();
    my_table.columns.firstitem().select();
    var my_selection = doc.selection;
    for(var c = 0; c < my_selection.length; c++){
         if(my_selection[c].associatedXMLElement.xmlAttributes.itemByName("type").value != "house"){
              my_selection[c].appliedCellStyle = doc.cellStyles.itemByName("column");
              my_selection[c].clearCellStyleOverrides(true);
    This will run once the table is placed through XML import
    I need to check the "type" XML attribute value for every XML cell, that's why I'm performing that if statement.
    Basically if a cell's XML element has a "type" attribute with "house" value the script will not apply the "column" style.
    The problem is that
    my_selection[c].associatedXMLElement
    always return null.
    The XML data structure is:
    <List><Category><Table><Cell/><Cell/>....</Table></Category></List>
    So I have a simple table inside a textFrame.
    I know what I'm doing could sound weird, but I experienced it's the most quick way to handle a big table within ID.
    Here's the background story
    Thanks again.

  • How can we get the reference of XML element on frame as soon as frame is created in Document?

    Hi,
    When ever we copy any text/table cells from any frame, and paste it directly on page, A new Frame is created and the pasted text is placed inside that frame.
    Now to capture this frame creation, We have two possible solutions:
    1) Attach Observer on Document 'kDocBoss' on IID_IHIERARCHY_DOCUMENT and it will notify on frame creation in update function.
    2) Notification event on new story creation.
    Now, I need to perform some changes in the newly created table, for example:
    a)  Need to delete XML tags from newly created frame
    b)  Need to perform action on table cells if any in the created frame.
    But the problem is, when the event comes, I can access basic properties of frame like it's name, type etc, but it does not give me the
    XML element on frame or tables in frame until the event is com pleat.
    I know it's quite a specif requirement, but I guess many of you might have faced these kind of challenges, while processing the event.
    Does any one has any idea how I can get the reference of XML element on frame as soon as it is created?

    Hi Kapoor,
    please give also others a chance, and excuse that I get up late on vacation ;-)
    Anyway, I'd keep the story creation responder to recognize the copy, then combine it with an observer on the backing xml story to catch the associated XML element which is created there. Something like below:
    UIDRef xmlStoryRef = Utils<IXMLUtils>()->GetBackingStore(doc);
    InterfacePtr<ISubject> subject ( xmlStoryRef,IID_ISUBJECT );
    subject->AttachObserver(observer,IID_IIDXMLELEMENT,observer->GetAttachIID());

  • Get all the XML elements in document with a given tag.

    I have a document marked up with XML Tags. I want an array or collection of all the elements in the document with the tag "red."
    I've tried both of these functions, neither seem to work right:
    var redElements = myDocument.xmlElements.itemByName("red");
    var redElements = myDocument.xmlTags.itemByName("red").getElements();
    What is the correct way to do this?
    Many thanks.

    use xpah:
    var myRoot=doc.xmlElements.item(0);
    var myRedElements=myRoot.evaluateXPathExpression("//red");  // myRedElements is now an array

  • How get all child elements from XML

    Hi
    I have one xml i tried to parse that xml using dom parser and i need to get some child elements using java
    <Group>
    <NAME>ABC</NAME>
    <Age>24</AgeC>
    ---------some data here......
    <Group1>
    <group1Category>
    <NAME>ABCTest</NAME>
    <age>27</Age>
    ----Some data here
    <group1subcategory>
    <subcategory>
    <NAME>ABCDEF</NAME>
    <age>28</Age>
    my intention was
    get group name (here ABC) i need all other name value from group1category ,group1 subcategory but pblm that
    my xml contains any number of Group nodes...but only i want name contains ABC
    i wriiten code like this
    DocumentBuilderFactory factory = DocumentBuilderFactory
    .newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(xmlFile);
    NodeList nodeList = document.getElementsByTagName("*");
    for (int i = 0; i < nodeList.getLength(); i++)
    Element element = (Element) nodeList.item(i);
    what is next step i need to do..please help

    964749 wrote:
    Sorry for inconvenience caused..i only asked if any ideas i not ask any body to spent time for me...
    This is simple code developed using xpath..i not know how i proceed further
    public class Demo {
    public static void main(String[] args) {
    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
    try {
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    Document dDoc = builder.parse("hello.xml");
    XPath xpath = XPathFactory.newInstance().newXPath();
    javax.xml.xpath.XPathExpression expr = xpath.compile("//Group/NAME");
    Object Name= expr.evaluate(dDoc, XPathConstants.STRING);
    System.out.println(Name);
    } catch (Exception e) {
    e.printStackTrace();
    i need get group name (here ABC) i need all other name value from group1category ,group1 subcategory but pblm that
    ..how i done in XPATH and also do manipulation of remining result...
    i also try with DOM like
    NodeList nodeList = document.getElementsByTagName("GROUP");
    for (int i = 0; i < nodeList.getLength(); i++)
    Element element = (Element) nodeList.item(i);
    if (element.getNodeName().matches("ECUC-MODULE-DEF"))
    String str=((Element) nodeList.item(i)).getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
    if(str.equalsIgnoreCase("abc")){
    NodeList children = element.getChildNodes();
    for (int k = 0; k < children.getLength(); k++) {
    Node child = children.item(k);
    System.out.println("children"+children.getLength());
    if (child.getNodeType() != Node.TEXT_NODE) {
    if(child.getNodeName().equalsIgnoreCase("Group1"))
    how iterate for particular ABC name to group1 and subcategoryFew things
    1. Use code tags to format code
    2. Explain the problem statement clearly. Take time to formulate your question. Explain what you expect from your code and what you are getting along with any exceptions that are being thrown

Maybe you are looking for

  • Error while importing the data

    Hi All, In fdm i am trying to Import the data but i am getting the below error while importing text file. Error: An error occurred importing the file. Detail: Data access error. also the below is the log found .. 2012-02-14-01:04:42 User ID..........

  • Basic understanding about Essbase Server and Administration Services

    Hi I am a newbie to the Essbase. I am trying to figure out the diference between Server and Services.I am very confused. Please clarify my understanding Essbase Server - This is a server in which Essbase stores all the data. Essbase Administration Se

  • 4.2 Sony A700 support?

    The new Sony A700 will have two forms of RAW files, a regular RAW and a comressed RAW. will 4.2 support both forms? Bob Mc

  • Strengths and weaknesses of Oracle developer/2000

    I wanted to know what the drawbacks and limitations of dev/2000(forms and reports) are. Would appreciate a discussion from various experienced developers on the limitations they faced and even the solutions they have provided/been provided.

  • Scheduled scaling not applying after deployment update

    We are running some cloud services with worker roles that scale out at scheduled times (during the day). This works fine with no problem. However when I update the deployment (I push a new package to staging, then do a swap and this is done at night)