How to write xpath to extract ALL text under an element

Hi, I need to extract every contents (text contents and not tags) under some tag, which may contain further tags, and I wonder how I can achieve this? For example suppose my xml looks like
<doc>
<title> The title of this message is (<italic> Question about xpath </italic> )</title>
</doc>And I want to extract the "title", which should be "The title of this message is (Question about xpath)".
My xpath query is
//doc/title/text()which only gives me "The title of this message is ()" and the "italic" contents are missing.
Is there anyway to revise this query to extract every contents under the "title" tag?
Thank you !

I am guessing that//doc/title//text()would do that. Be prepared for it to return a list of nodes which you will have to concatenate together in your code.

Similar Messages

  • I am new in indesign scripting, please tell me how to write a script to get  content of a element in xml and then sort all the content

    I am new in indesign scripting, please tell me how to write a script to get  content of a element in xml and then sort all the content

    Hi,
    May the below code is useful for you, but I dont know how to sort.
    Edit the tag as per your job request.
    alert(app.activeDocument.xmlElements[0].contents)
    //Second alert
    var xe = app.activeDocument.xmlElements[0].evaluateXPathExpression("//marginalnote");
    alert(xe.length)
    for(i=0; i<xe.length; i++)
        alert(xe[i].texts[0].contents)
    Regards
    Siraj

  • How to write the resultset into a text file

    how to write the resultset into a text file

    You can use the java.io.* package to write to files.
    API: http://java.sun.com/j2se/1.5.0/docs/api/java/io/package-summary.html
    Tutorial: http://java.sun.com/docs/books/tutorial/essential/io/index.html

  • AppleScript Needed...How to tell Pages to delete all texts with a specific color?

    How to tell Pages to remove all texts with the font size: 13 and color " disabledControlTextColor" from the developer palette?

    Sorry John,
    Now My question has changed,
    Now I want to fill the whole cell with a color , not only the text background
    Now I have the Solution. As from the previos post itself I got the Answer. I excuse all of u to put the related question in a new thread.
    Please leave it. I won't repeat it.
    <af:column sortProperty="Salary" headerText="#{bindings.EmployeesVO1.hints.Salary.label}"
    inlineStyle="#{row.Salary>'20000'?'background-color:Red;':'background-color:Orange;'}"
    id="c6">
    <af:outputText value="#{row.Salary}" id="ot4">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.EmployeesVO1.hints.Salary.format}"/>
    </af:outputText>
    fixes my issue.
    Ranjith C
    Edited by: Ranjith C on Jun 30, 2011 4:46 AM

  • How to extract ALL text on a line, including extra white space, from PDF?

    I have written my first scripts to parse thru PDF files and successfully locate the beginning and ending of text portions that I wish to copy/extract.  For example, one of the scripts reads thru PDF files and locates patterns that allow me to copy/extract a lengthy Title that spans several lines on the page.  My remaining problem is that sometimes the text I wish to copy/extract has tabs or lots of white space between the words, and I need to retain ALL the "white space" between words.  Basically, I am successful at using getPageNthWord(j, i, false) along with "Quad coordinate sets" to get a word-at-a-time for all the words on the multiple lines but it seems to be skipping over the tabs and extra white spacing beetween the words.   Another way to say this is that I need to extract/copy a full line at a time, including all white space, instead of being limited to just a word at a time. 
    Can anyone help me with an algorithm to extract/copy text, not just the words but also including tabs and other extra white space characters? Is there some type of Regular Expression I should be using, or maybe some additional parameter used for getPageNthWord that would retain all the extra white space?
    Thanks in advance,
    Ted L

    Did you try setting the bStrip parameter of getPageNthWord to false? It will
    preserve some of the whitespace, but not all of it.
    As far as I know, that's the only way to do it via a script.

  • How can I copy or print all text highlights in Adobe Reader for Android?

    I read many tech books as pdfs. And highlight the parts I want to note.
    Since I am now reading them on an Android Tablet using Adobe Reader for Android, I need to find a way to move my highlights to a separate doc when I am done reading. I don't see instructions for this anywhere.
    How can I copy all text highlights at once from a document?
    And / or
    How can I print all text highlights from a document?
    Thanks,
    ken

    Thanks.
    Kindle Reader will let me do that with Kindle books and docs that I buy from
    Amazon, but not with personal docs (such as pdfs) that I import, unfortunately.
    Is a VERY useful feature!

  • How to write list values to a text file?

    Hi. Does anyone know how to write values stored in a List to a text file? I have a program that asks the user to enter a name and stores it in a list. The number of names in the list depends on how many times the user wants to enter a name. The problem is that my writeToFile method, which handles writing values to a text file, only writes one name and overwrites any previous names. How could I fix this so that it goes thru the list and writes every value to the file? Any hints would be appreciated!
    peace
    Chris
    import java.util.*;
    import java.io.*;
    public class StoreNames
    String name;
    char answer;
    BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    public void anotherName(List a)throws IOException
    System.out.println("Enter another name? (Y or N)");
    answer = (char)System.in.read();
    System.in.skip(2);
    while(answer == 'Y' || answer == 'y')
    inputName(a);
    System.out.println("Enter another name? (Y or N)");
    answer = (char)System.in.read();
    System.in.skip(2);
    if (answer == 'N' || answer == 'n')
    System.out.println("Ok. GoodBye");
    writeToFile(a);
    //prompts user to input names
    public void inputName(List a) throws IOException
    System.out.print("Enter a name: ");
    name = input.readLine();
    a.add(name);
    public void writeToFile(List a)throws IOException
    PrintWriter output = new PrintWriter(new FileWriter("names.txt"));
    output.print(name); //Problem area - handles only one line of input, overwrites previous input
    output.close();

    System.out is an instance of PrintStream (check the API documents for the System class to see this).
    So the easiest way to convert from a "print to screen" class to a "print to file" class is to acquire a PrintStream that prints to a file, and use it exactly the same as you'd have used System.out...
    So start with your console code...
            PrintStream out = System.out;
            for(int i = 0; i <10; i++){
                out.println("Number " +i);
            }Then you adapt to file code:
            FileOutputStream fos = new FileOutputStream("temp.txt");
            PrintStream out = new PrintStream(fos);
            for(int i = 0; i <10; i++){
                out.println("Number " +i);
            out.flush();
            out.close();Note that we flush the stream because for reasons of efficiency files aren't necessarily written to disk until you explicitly ask the system to do so (memory is fast, disks are slow, that's why).
    Closing the stream releases system resources associated with it.
    Actually, that's redundant, because close calls flush automatically, but I left it in for clarity.
    Any use ?

  • How to write a return in a text file.

    Hi, i am trying to write diferent lines into a text file, i write strings ending with \r\n but it doesn't work, how could i write in diferent lines?
    Thanks.

    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("myfile.txt")));
    out.println("This is the first line");
    out.println("This is the second line");
    out.flush();
    out.close();Jesper

  • How can i get records of all text messages

    How do you get records of all your texts? Everyone tells me to go to text usage for my number but it does not show up. Any ideas? I need them like now

        Hey there Amanda_x,
    I've heard your cry for help and I am here to assist. Are you looking just for the numbers that you've texted and received texts from? Or are you looking for the actual text message conversation?
    If you are just looking for the numbers that you've texted and received texts from you can retreive that information through My Verizon. Once you are signed in as the account owner you would click on "view my usage" under Manage My Account. From there you can click on Breakdown of Recent Activity and from there you can view the messaging log for your line.
    If you are looking for previous text messages that may have been deleted. That cannot be retreived through My Verizon.
    Verizon Wireless is only able to provide an average of the last 3-5 days of content, but never more than ten days from the date and time the message is delivered.  Only messages that are received may be available. We also must receive a message with your consent and have it notarized and submitted by an attorney or law enforcement official.  You can have those documents faxed to (847) 706-7276.
    Let me know if you have any additional questions.
    NicholasB_VZW
    Follow us on Twitter @VZWSupport

  • How to write to multiple lines in text item?

    I tried to write 2 lines in the text item, however only return one line:
    :myqueues.queue :=      'hello' || chr(10) ||'world';
    It gives me only 'hello' in the first line and nothing else in the 2nd line.
    Is there any settings needs to be activated in the property of text item?

    I'm reading a file and imports the strings:
    DECLARE
         v_filename VARCHAR(50);
         v_handle text_io.file_type;
         readline varchar(50);
    BEGIN
         v_filename := get_file_name(file_filter=>'All files(*.*)|*.txt|');
         v_handle := text_io.fopen(v_filename, 'r');
    text_io.get_line(v_handle, readline);
    :myqueues.queue := rtrim(readline);
    text_io.get_line(v_handle, readline);
    :myqueues.queue := :myqueues.queue || chr(10) || rtrim(readline) ;
    text_io.get_line(v_handle, readline);
    :myqueues.queue := :myqueues.queue || chr(10) || rtrim(readline) ;
         text_io.get_line(v_handle, readline);
    :myqueues.queue := :myqueues.queue || chr(10) || rtrim(readline) ;
         text_io.fclose(v_handle);
    END;
    This function reads the file and returns 4 strings, each of which takes one line in one record of text item.
    My question is: can I get 4 records, assigning each with one string from the input file?
    Thanks a lot.

  • How to write query to list all the employees of deptno 20

    Hi ,
    I am new to Oracle...Recently I got job.... Could you please help me....
    How to write a query for
    1) List all the Clerks of Deptno 20 and
    2) List the emps along with their exp and whose daily salary is more than 100rs

    its not wrong that you ask , but this is basic question and my suggestion is to start reading some manual specially since you got job , Read oracle documentation gogole what you want if you didn't find any answer post here and we will help you .
    Check this link
    http://www.oracle-dba-online.com/sql/oracle_sql_tutorial.htm
    http://www.w3schools.com/sql/default.asp
    http://www.java2s.com/Tutorial/Oracle/CatalogOracle.htm
    And you will find more & more .. create your own vmware oracle provide with learning database called XE (express edition) test it and hope this information is useful for you

  • How to use automator to extract specific text from json txt file

    I'm trying to set up an Automator folder action to extract certain data from json files. I'm pulling metadata from YouTube videos, and I want to extract the Title of the video, the URL for the video, and the date uploaded.
    Sample json data excerpts:
    "upload_date": "20130319"
    "title": "[title of varying length]"
    "webpage_url": "https://www.youtube.com/watch?v=[video id]"
    Based on this thread, seems I should be able to have Automator (or any means of using a shell script) find data and extract it into a .txt file, which I can then open as a space delimited file in Excel or Numbers. That answer assumes a static number of digits for the text to be extracted, though. Is there a way Automator can search through the json file and extract the text - however long - after "title" and "webpage_url"?
    json files are all in the same folder, and all end in .info.json.
    Any help greatly appreciated!

    Hello
    You might try the following perl script, which will process every *.json file in current directory and yield out.csv.
    * CSV currently uses space for field separator as you requested. Note that Numbers.app cannot import such CSV file correctly.
    #!/bin/bash
    /usr/bin/perl -CSDA -w <<'EOF' - *.json > out.csv
    use strict;
    use JSON::Syck;
    $JSON::Syck::ImplicitUnicode = 1;
    # json node paths to extract
    my @paths = ('/upload_date', '/title', '/webpage_url');
    for (@ARGV) {
        my $json;
        open(IN, "<", $_) or die "$!";
            local $/;
            $json = <IN>;
        close IN;
        my $data = JSON::Syck::Load($json) or next;
        my @values = map { &json_node_at_path($data, $_) } @paths;
            #   output CSV spec
            #   - field separator = SPACE
            #   - record separator = LF
            #   - every field is quoted
            local $, = qq( );
            local $\ = qq(\n);
            print map { s/"/""/og; q(").$_.q("); } @values;
    sub json_node_at_path ($$) {
        #   $ : (reference) json object
        #   $ : (string) node path
        #   E.g. Given node path = '/abc/0/def', it returns either
        #       $obj->{'abc'}->[0]->{'def'}   if $obj->{'abc'} is ARRAY; or
        #       $obj->{'abc'}->{'0'}->{'def'} if $obj->{'abc'} is HASH.
        my ($obj, $path) = @_; 
        my $r = $obj;
        for ( map { /(^.+$)/ } split /\//, $path ) {
            if ( /^[0-9]+$/ && ref($r) eq 'ARRAY' ) {
                $r = $r->[$_];
            else {
                $r = $r->{$_};
        return $r;
    EOF
    For Automator workflow, you may use Run Shell Script action as follows, which will receive json files and yield out_YYYY-MM-DD_HHMMSS.csv on desktop.
    Run Shell Script action
        - Shell = /bin/bash
        - Pass input = as arguments
        - Code = as follows
    #!/bin/bash
    /usr/bin/perl -CSDA -w <<'EOF' - "$@" > ~/Desktop/out_"$(date '+%F_%H%M%S')".csv
    use strict;
    use JSON::Syck;
    $JSON::Syck::ImplicitUnicode = 1;
    # json node paths to extract
    my @paths = ('/upload_date', '/title', '/webpage_url');
    for (@ARGV) {
        my $json;
        open(IN, "<", $_) or die "$!";
            local $/;
            $json = <IN>;
        close IN;
        my $data = JSON::Syck::Load($json) or next;
        my @values = map { &json_node_at_path($data, $_) } @paths;
            #   output CSV spec
            #   - field separator = SPACE
            #   - record separator = LF
            #   - every field is quoted
            local $, = qq( );
            local $\ = qq(\n);
            print map { s/"/""/og; q(").$_.q("); } @values;
    sub json_node_at_path ($$) {
        #   $ : (reference) json object
        #   $ : (string) node path
        #   E.g. Given node path = '/abc/0/def', it returns either
        #       $obj->{'abc'}->[0]->{'def'}   if $obj->{'abc'} is ARRAY; or
        #       $obj->{'abc'}->{'0'}->{'def'} if $obj->{'abc'} is HASH.
        my ($obj, $path) = @_; 
        my $r = $obj;
        for ( map { /(^.+$)/ } split /\//, $path ) {
            if ( /^[0-9]+$/ && ref($r) eq 'ARRAY' ) {
                $r = $r->[$_];
            else {
                $r = $r->{$_};
        return $r;
    EOF
    Tested under OS X 10.6.8.
    Hope this may help,
    H

  • How to write select query for all the user tables in database

    Can any one tell me how to select the columns from all the user tables in a database
    Here I had 3columns as input...
    1.phone no
    2.memberid
    3.sub no.
    I have to select call time,record,agn from all the tables in a database...all database tables have the same column names but some may have additional columns..
    Eg: select call time, record,agn from ah_t_table where phone no= 6186759765,memberid=j34563298
    Query has to execute not only for this table but for all user tables in the database..all tables will start with ah_t
    I am trying for this query since 30days...
    Help me please....any kind of help is appreciated.....

    Hi,
    user13113704 wrote:
    ... i need to include the symbol (') for the numbers(values) to get selected..
    eg: phone no= '6284056879'To include a single-quote in a string literal, use 2 or them in a row, as shown below.
    Starting in Oracle 10, you can also use Q-notation:
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/sql_elements003.htm#i42617
    ...and also can you tell me how to execute the output of this script. What front end are you using? If it's SQL*Plus, then you can SPOOL the query to a file, and then execute that file, like this:
    -- Suppress SQL*Plus features that interfere with raw output
    SET     FEEDBACK     OFF
    SET     PAGESIZE     0
    -- Run preliminary query to generate main query
    SPOOL     c:\my_sql_dir\all_ah_t.sql
    SELECT       'select call time, record, agn from '
    ||       owner
    ||       '.'
    ||       table_name
    ||       ' where phone_no = ''6186759765'' and memberid = j34563298'
    ||       CASE
               WHEN ROW_NUMBER () OVER ( ORDER BY  owner          DESC
                              ,        table_name      DESC
                              ) = 1
               THEN  ';'
               ELSE  ' UNION ALL'
           END     AS txt
    FROM       all_tables
    WHERE       SUBSTR (table_name, 1, 4)     = 'AH_T'
    ORDER BY  owner
    ,       table_name
    SPOOL     OFF
    -- Restore SQL*Plus features that interfere with raw output (if desired)
    SET     FEEDBACK     ON
    SET     PAGESIZE     50
    -- Run main query:
    @c:\my_sql_dir\all_ah_t.sql
    so that i form a temporary view for this script as a table(or store the result in a temp table) and my problem will be solved..Sorry, I don't understand. What is a "temporary view"?

  • HOW TO WRITE AND READ FROM A TEXT FILE???

    How can I read from a text file and then display the contents in a JTextArea??????
    Also how can I write the contents of a JTextArea to a text file.
    Extra Question::::::: Is it possible to write records to a text file. If you have not idea what I am talking about then ignore it.
    Manny thanks,
    your help is much appreciated though you don't know it!

    Do 3 things.
    -- Look through the API at the java.io package.
    -- Search previous posts for "read write from text file"
    -- Search java.sun.com for information on the java.io package.
    That should clear just about everything up. If you have more specific problems, feel free to come back and post them.

  • How to Write log messages in a text file located in another machine

    Basically My application is distributed across two or more tomcat servers running in multiple machines.And I get a log4j logs in the respective machines.
    But I want a consolidated log message in a single machine.
    How do i get that done??
    Any samples?? Any clues??
    Any specific technoliges??

    Create an RMI application (for example) that writes the log, and let all logging calls call that remote application.
    Something like that is the only feasible way that doesn't require you to have a drive on the remote machine mapped to the local one (which causes its own problems as you could have multiple simultaneous write attempts...).

Maybe you are looking for