我的应用程序正在向服务器发送一个XML文件:需要一些关于编写PHP脚本来解析XML文件的指导吗

我的应用程序正在向服务器发送一个XML文件:需要一些关于编写PHP脚本来解析XML文件的指导吗,php,iphone,xml,Php,Iphone,Xml,因此,我的iPhone应用程序通过POST将XML文件中的购物车发送到URL。下面是执行此操作的代码行 NSString *pathToSerializedCart = [rootPath stringByAppendingPathComponent:@"serializedCart.plist"]; NSString *shoppingCartString; NSData *serializedData; if (![fileManager fileExistsAtPath:pathToSer

因此,我的iPhone应用程序通过POST将XML文件中的购物车发送到URL。下面是执行此操作的代码行

NSString *pathToSerializedCart = [rootPath stringByAppendingPathComponent:@"serializedCart.plist"];
NSString *shoppingCartString;
NSData *serializedData;
if (![fileManager fileExistsAtPath:pathToSerializedCart])
   {
    NSLog(@"ERROR:\nCouldnt find serialized cart in documents folder.");
    return;
   }


    serializedData = [NSData dataWithContentsOfFile:pathToSerializedCart];
    shoppingCartString = [[NSString alloc] initWithData:serializedData
                                                        encoding:NSUTF8StringEncoding];
    NSLog(@"%@", shoppingCartString);
    [shoppingCartString release];


    //==========================================================================


NSData *returnData = [NSURLConnection sendSynchronousRequest:request 
                                           returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] 
                          initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"%@",returnString);
[returnString release];
现在,我想做的是在服务器上的文件
welcome.php
中放置一个脚本,以便将这个XML文件的内容回显到浏览器中

我看了很多例子,但都谈到了XML文件与服务器上的PHP文件位于同一目录中的情况。我还没有找到实际从应用程序中调用的PHP代码示例

谁能给我指一下正确的方向吗


谢谢

更新在看到您的完整objc后,我想讨论的POST值名称是
userfile
,我已经更新了下面的代码

在PHP中,上载文件的文件名位置将位于
$\u文件['userfile']['tmp\u name']
中。建议
var\u dump($\u文件)
,以便您了解PHP如何处理上载的文件

函数
file\u get\u contents()
将读取该临时文件名并以字符串形式返回其内容,您可以将其加载到DOMDocument中,如下面代码的最后一位所示

建议阅读: 您需要从
$\u POST[]
超全局检索XML数据,然后可以使用
simplexml\u load\u string()
解析它

或者,与SimpleXML不同,我通常更喜欢更灵活的PHP库:


postName到底是什么?是应用程序以post方式发送的文件还是确切的内容?Thx@user657514请参见上面的更改。我认为XML是作为字符串发布的,而不是作为文件上传的。POST必须是键/值对,
postName
引用键。如果作为文件上传,该文件将有一个临时名称,可通过
$\u FILES[]
访问。我修改了上面的帖子。我现在有了目标C的完整方法。对不起。我还是不明白。我是PHP和服务器端编程新手。你有什么办法可以简化这件事吗?Thanks@user657514以上有更多更新。我认为
userfile
是您需要的POST密钥名。
// Sorry I'm unfamiliar with objC, so I can't glean the actual POST 
// value name from your code
// UPDATE misunderstood. the uploaded file is in $_FILES
// indexed by the POST key name.

// In development you can inspect your POST...
// To see the contents of your POST in PHP, do:
var_dump($_POST);
// Also check the contents of $_FILES
var_dump($_FILES);

// Your file is stored in the temp directory 
$xmlfile = $_FILES['userfile']['tmp_name'];

// Load it with SimpleXML
$xml = simplexml_load_file($xmlfile);
$xmlfile = $_FILES['userfile']['tmp_name'];
$dom = new DOMDocument();
$dom->loadXML(file_get_contents($xmlfile));

// Now parse it as necessary using DOM manipulators
$tags = $dom->getElementsByTagName("sometag");
foreach ($tags as $sometag) {
   // whatever...
}