如何通过不同的编程语言发送、接收和解析XML消息?[复制]

how to send, receive and parse XML messages over DIFFERENT programming languages? [duplicate]

提问人:evan 提问时间:3/31/2018 更新时间:3/31/2018 访问量:282

问:

我知道XML不一定与任何语言保持一致,但是在从c ++到c#并返回时,使用的最佳方法/库是什么?

我正在使用 xamarin 构建一个应用程序,我将通过 XML 接收数据并将其发送到用 C++ 编码的服务器。我对 XML 的发送、接收和解析方式不熟悉,需要一些关于通过 TCP 发送 XML 数据的最佳方式的信息,在另一端接收数据,解析信息,然后将其转换为变量或对象以在 c++ 应用服务器端进行处理。如何才能最好地做到这一点?

C# C++ XML 与 Xamarin 语言无关

评论

0赞 Alexei Levenkov 3/31/2018
由于您显然已经阅读了很多关于“C#读取XML”的问题,因此这个问题中唯一可能更难研究的部分是C++部分...为此,我认为还有另一篇文章涵盖了您正在寻找的信息。如果您发现重复还不够 - 请随时要求对您的帖子投反对票,因为它没有显示任何研究,并且关闭为过于宽泛而不是重复。您也可以考虑编辑帖子,以使其涉及您在 SO 上找不到解决方案的特定方面。
0赞 Paul McDowell 3/31/2018
我建议在服务器端使用 REST API 控制器来接收 XML 文件。.NETCore csn 用于相当快速地完成此操作,并允许您同时支持 xml 和 json。也就是说,如果您不想进入 api 工作,您可以只使用 Web 套接字来执行此操作。问题在于,您的问题使整个实现处于待定状态,因为实际上没有“最佳”方法可以做到这一点。

答:

0赞 Joseph Evans 3/31/2018 #1

发送 XML 有效负载需要指定有效负载类型,并将其附加到发送到服务器的 POST 请求等内容。当服务器收到 XML 有效负载时,您需要使用序列化库之类的东西。您可以选择用于读/写 XML 的语言中适合您需求的库。还可以使用 XML 架构定义文件来标准化 XML 文件的预期格式。还可以选择从 XSD 文件生成类文件。如果使用其中一个生成器,则可以编写 XSD,以不同的语言生成类,然后使用序列化库对 XML/对象进行序列化和反序列化。