Escape xml with CFXMLCreateStringByEscapingEntities
Escape xml with CFXMLCreateStringByEscapingEntities
- Subject: Escape xml with CFXMLCreateStringByEscapingEntities
- From: Claude Saelens <email@hidden>
- Date: Thu, 01 Dec 2011 09:19:01 +0100
Hello,
I need to put XML fragments into another XML. Each time an XML fragment is put into another XML it needs to be escaped to be send to backend a java application. I used the function "CFXMLCreateStringByEscapingEntities" but it seems it can only escape an XML fragment once, the second time strange characters are added.
For this is wrote following method:
-(NSMutableString*)xmlEscape:(NSMutableString*)xmlString
{
NSMutableString *aNSString = [NSMutableString stringWithString:xmlString];
CFStringRef aCFString;
CFStringRef bCFString;
aCFString = CFStringCreateWithCString(NULL, [aNSString UTF8String], NSUTF8StringEncoding);
bCFString = CFXMLCreateStringByEscapingEntities(kCFAllocatorDefault, aCFString, NULL);
NSMutableString *returnValue = [NSMutableString stringWithString:(NSMutableString*)bCFString];
CFRelease(aCFString);
CFRelease(bCFString);
return returnValue;
}
The result is as follow:
First fragment:
<item type="Struct">
<item name="path">Links/lets&dance.jpg</item>
<item name="spread_index">0</item>
</item>
<item type="Struct">
<item name="path">Links/doubles_1/lets&dance.jpg</item>
<item name="spread_index">0</item>
</item>
Escaping this and put in a second fragment gives:
<item type="Struct">
<item name="level_id">4_2</item>
<item name="images" type="Array"><item type="Struct">
<item name="path">Links/lets&dance.jpg</item>
<item name="spread_index">0</item>
</item>
<item type="Struct">
<item name="path">Links/doubles_1/lets&dance.jpg</item>
<item name="spread_index">0</item>
</item>
</item>
</item>
Escaping this fragment again gives:
<item type="Struct">
<item name="level_id">4_2</item>
<item name="images" type="Array">قÄ-&lt;قÄ،item typeقÄ-=&quot;قÄ،StructقÄ-&quot;&gt;قÄ،
قÄ-&lt;قÄ،item nameقÄ-=&quot;قÄ،pathقÄ-&quot;&gt;قÄ،Links/lets&amp;dance.jpgقÄ-&lt;/قÄ،itemقÄ-&gt;قÄ،
قÄ-&lt;قÄ،item nameقÄ-=&quot;قÄ،spread_indexقÄ-&quot;&gt;قÄ،0قÄ-&lt;/قÄ،itemقÄ-&gt;قÄ،
قÄ-&lt;/قÄ،itemقÄ-&gt;قÄ،
قÄ-&lt;قÄ،item typeقÄ-=&quot;قÄ،StructقÄ-&quot;&gt;قÄ،
قÄ-&lt;قÄ،item nameقÄ-=&quot;قÄ،pathقÄ-&quot;&gt;قÄ،Links/doubles_1قÄ-/قÄ،lets&amp;dance.jpgقÄ-&lt;/قÄ،itemقÄ-&gt;قÄ،
قÄ-&lt;قÄ،item nameقÄ-=&quot;قÄ،spread_indexقÄ-&quot;&gt;قÄ،0قÄ-&lt;/قÄ،itemقÄ-&gt;قÄ،
قÄ-&lt;/قÄ،itemقÄ-&gt;قÄ،
</item>
</item>
Has anyone a solution for this problem?
Thanks a lot for your help.
Vit2Print.com NVTieltstraat 1678740 Pittem BelgiumPhone : +32 51 42 40 15Fax : +32 51 40 29 22Web : www.vit2print.com
___________________________________________________________________________
This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information and/or information protected by intellectual property rights.
If you are not the intended recipient, please note that any review, dissemination, disclosure, alteration, printing, copying or transmission of this e-mail and/or any file transmitted with it, is strictly prohibited and may be unlawful.
If you have received this e-mail by mistake, please immediately notify the sender and permanently delete the original as well as any copy of any e-mail and any printout thereof.
We may monitor e-mail to and from our network.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden