Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 982
  • Last Modified:

Adding attribute to a parent element

Hi,

I am using libxml2 to generate XML files. In the attached code, I am expecting output to be like:

<TAG_A ATTR_A1="Val1"  ATTR_A2="Val3">
      <TAG_B ATTR_B="Val2"/>
</TAG_A>

But it is not able to add attribute to the parent, and is giving output as:

<TAG_A ATTR_A1="Val1">
      <TAG_B ATTR_B="Val2"/>
</TAG_A>

That is, ATTR_A2 is missing for the element TAG_A. Is there any other API/work around to solve this problem?
#include <libxml/xmlwriter.h>

int main(int argc, char *argv[])
{
    xmlTextWriterPtr writer;
    writer =xmlNewTextWriterFilename("test.xml", 0);
    xmlTextWriterStartElement(writer, "TAG_A");
    xmlTextWriterWriteFormatAttribute(writer, BAD_CAST "ATTR_A1", "Val1");
    xmlTextWriterStartElement(writer, "TAG_B");
    xmlTextWriterWriteFormatAttribute(writer, BAD_CAST "ATTR_B", "Val2");

    xmlTextWriterEndElement(writer);
    xmlTextWriterWriteFormatAttribute(writer, BAD_CAST "ATTR_A2", "Val3");
    xmlTextWriterEndElement(writer);
    xmlFreeTextWriter(writer);
}

Open in new window

0
Harisha M G
Asked:
Harisha M G
  • 4
1 Solution
 
Deepu AbrahamR & D Engineering ManagerCommented:
Try using
xmlTextWriterStartAttribute();

have a look at this:
http://xmlsoft.org/html/libxml-xmlwriter.html
0
 
Harisha M GAuthor Commented:
I tried that function this way, but it is not working:
#include <libxml/xmlwriter.h>

int main(int argc, char *argv[])
{
    xmlTextWriterPtr writer;
    writer =xmlNewTextWriterFilename("test.xml", 0);
    xmlTextWriterStartElement(writer, "TAG_A");
    xmlTextWriterWriteFormatAttribute(writer, BAD_CAST "ATTR_A1", "Val1");
    xmlTextWriterStartElement(writer, "TAG_B");
    xmlTextWriterWriteFormatAttribute(writer, BAD_CAST "ATTR_B", "Val2");

    xmlTextWriterEndElement(writer);
    xmlTextWriterStartAttribute(writer, BAD_CAST "ATTR_A2");
    xmlTextWriterEndElement(writer);
    xmlFreeTextWriter(writer);
}

Open in new window

0
 
Harisha M GAuthor Commented:
I found that it can not be done.
0
 
Harisha M GAuthor Commented:
There is not solution for this. Answer is "it can't be done", as I have posted. Please accept my comment solution and make it PAQ
0
 
Harisha M GAuthor Commented:
I found through practical experience that it can't be done
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now