i'm trying to parse a xml string with NSXMLParser which i created in PHP. My PHP sript is:
$doc = new DomDocument('1.0');
//$doc->preserveWhiteSpace=false;
$root = $doc->createElement("root");
$root = $doc->appendChild($root);
$child = $doc->createElement("child");
$child = $root->appendChild($child);
$value = $doc->createTextNode("testvar");
$value = $child->appendChild($value);
$xml_string = $doc->saveXML();
print $xml_string;
If i open the page in the browser it shows me 'testvar' like it should. Showing the source it shows me that there're several whitespaces:
begin ->| <?xml version="1.0"?>
<root><child>testvar</child></root>
|<--end
Setting preserveWhitespace to false doesn't change anything. So i tried with regex in php:
$xml_string1 = preg_replace("/\s+</","<",$xml_string);
$xml_string2 = preg_replace("/>\s+/",">",$xml_string1);
print $xml_string2;
Bu \ n kaldırır ve bu beni getiren
begin-->| <?xml version="1.0"?><root><child>testvar</child></root> |<--end
Tarayıcıda her zaman istenen sonucu gösterir: TestVar
Iphone i hata şu olsun:
**NSXMLParserErrorDomain Code = 64, Operation could not be completed.**
Xml ile sorun, i Bu \ n kaldırır altında gibi doğru şekilde almak nedir bilmiyorum ....
I tried to debug but after starting the parser with [parser parse] none of the delegate functions is called (yes, i set the delegate) exept the parserError. As there're still spaces before and after the xml may this is the reason, but i can't get them out. In my application on the iPhone i tried different encodings, UTF8 and ASCII. I also tried to convert the received data to a string, called
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet
ve geri dönüştürülemez.
Ben de şu ayarlayın:
[parser setShouldProcessNamespaces:NO];
[parser setShouldReportNamespacePrefixes:NO];
[parser setShouldResolveExternalEntities:NO];
Ben yanlış ne yapıyorum bilmiyorum, yardım lütfen.
Şimdiden teşekkürler.