我正在编写一个必须使用java实用程序应用程序的objective-c / cocoa应用程序。所以我计划使用NSTask来调用java应用程序。我试图找出在cocoa和java应用程序之间进行通信的最简单方法。是否可以通过标准的java应用程序发送xml格式的字符串,并获取cocoa应用程序来创建一个xml对象,然后进行反序列化并用于其数据?
答案 0 :(得分:3)
您可以使用NSTask的standardOutput方法。这将为您提供NSPipe对象,然后您可以通过NSFileHandle从fileHandleForReading获取readDataToEndOfFile。您只需要在句柄上NSData获取一个NSXMLDocument对象,如果您想要基于树的XML处理,可以将其传递给NSXMLParser。否则,您将需要查看{{3}}以进行基于事件的解析。这两个XML引用都有相应的指南,这些指南很有用。
所有这一切都完全取决于你从NSTask的起点开始的文档。