Re: Compiler Errors
- From: Santhosh Edukulla <santhosh edukulla gmail com>
- To: Kjell Ahlstedt <kjell ahlstedt bredband net>
- Cc: libxmlplusplus-list gnome org
- Subject: Re: Compiler Errors
- Date: Sat, 2 Jun 2012 20:03:27 +0900
Hi Kjell,
We are using fedora 9 64 bit machine for our build environment. Where
can i get the latest prod packages of libxml++ for fed 9 and 64 bit
machine?
Santhosh
On 6/2/12, Kjell Ahlstedt <kjell ahlstedt bredband net> wrote:
> xmlpp::Document::write_to_file() or
> xmlpp::Document::write_to_file_formatted(). Don't expect too much from
> write_to_file_formatted(). It won't format exactly as you would like.
> If you've created the xmlpp::Document with xmlpp::DomParser, you must
> first use xmlpp::DomParser::get_document().
> This will write the whole document, not just the added nodes. I don't
> think there's an easy way to write just some selected nodes.
>
> Have you read the documentation? Look e.g. at
> http://developer.gnome.org/libxml++/stable/.
>
> Kjell
>
> 2012-06-01 20:18, Santhosh Edukulla skrev:
>> Thanks. How do we save the nodes written using add_child() and
>> add_child_text() etc to disk?
>>
>> Some thing like save xml.
>>
>> Santhosh
>>
>> On 6/1/12, Kjell Ahlstedt<kjell ahlstedt bredband net> wrote:
>>> When I run your example, it crashes on
>>> txt_node = node_element->get_child_text();
>>> because node_element == NULL.
>>>
>>> mRNode has 5 children:
>>> 1. a TextNode containing a linefeed ("\n")
>>> 2. an f1 Element node
>>> 3. a TextNode containing a linefeed
>>> 4. an f2 Element node
>>> 5. a TextNode containing a linefeed
>>>
>>> If you are only interested in f1 nodes, change
>>> Node::NodeList temp_lst = mRNode->get_children();
>>> to
>>> Node::NodeList temp_lst = mRNode->get_children("f1");
>>> or make more tests when you loop over all the children.
>>>
>>> Kjell
>>>
>>> 2012-06-01 12:44, Santhosh Edukulla skrev:
>>>> Team,
>>>>
>>>> 1/ I have a file with few nodes as below. Iam using the code mentioned
>>>> below to parse this file. Everytime, i run with hundreds of changes
>>>> but in vain the result is same i.e., it gets crashed. May i know as
>>>> what iam doing wrong? I have given up after 3 hours of spending time
>>>> on this. Also, documentation wise and help wise, it need some
>>>> improvement i believe. I wanted to retrieve content of a given node.
>>>> This is very easy with other dom parsers compared to here.
>>>>
>>>> It crashes at the below statement.
>>>> mConfigFilePath = txt_node->get_content();
>>>>
>>>>
>>>> Some how
>>>>
>>>> <f>
>>>> <f1>abc</f1>
>>>> <f2>abc</f2>
>>>> </f>
>>>>
>>>>
>>>>
>>>> string temp_str,temp_name;
>>>> Element* node_element;
>>>> TextNode *txt_node,*txt_node1;
>>>> DomParser parser( "abc.xml",false );
>>>> if( parser )
>>>> {
>>>> cout<< "SUCCESS : FILE PARSING IS
>>>> SUCCESSFUL: "<< endl ;
>>>> mRNode =
>>>> parser.get_document()->get_root_node();
>>>> }
>>>> /*Check if op file is able to be parsed*/
>>>> if( mRNode != NULL )
>>>>
>>>> Node::NodeList temp_lst = mRNode->get_children();
>>>> for( Node::NodeList::iterator temp_node =
>>>> temp_lst.begin(); temp_node != temp_lst.end(); ++temp_node )
>>>> {
>>>> temp_str = (*temp_node)->get_name();
>>>> node_element =
>>>> dynamic_cast<Element*>(*temp_node);
>>>> txt_node = node_element->get_child_text();
>>>>
>>>> if ( temp_str == "config_file" )
>>>> {
>>>> mConfigFilePath =
>>>> txt_node->get_content();
>>>> }
>>>>
>>>> 2/ Also, I believe, it was made way too complicated i believe. I have
>>>> a node f1, i just wanted to retrieve its content. Instead we made a
>>>> TextNode,Element Node etc.
>>>> This is typically different from other parsers available under c#.net
>>>> and
>>>> java.
>>>>
>>>> Santhosh
>>>>
>>>>
>>>
>
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]