[英]Parsing XML data from Sockets using C
我有一個客戶端程序,它將XML數據發送到我的服務器程序。 服務器需要解析XML數據。 我在Linux上使用C語言。
是否有可用於直接從套接字解析XML的API? 否則我怎么知道XML傳輸是否完成?
正如我上面解釋的那樣:當您使用“原始套接字”時,您一次最多只能讀取一個緩沖區。 您不必一口氣讀取整個文檔。 您甚至可能無法獲得完整的答案。 您需要一次循環地將數據復制到緩沖區中,直到獲得所需的所有文本為止。 這使解析變得復雜:)
Expat是面向流的解析器-可能會有所幫助。
SAX是“事件驅動”解析器。 您可以在Expat周圍使用SAX包裝器,也可以使用許多其他選擇中的任何一種,包括libXML和Xerces。
要點是1)(從網絡中)讀取數據,以及2)解析數據是兩個獨立的活動 。
對於學習套接字,我強烈推薦Beej的最出色的“網絡編程指南”:
為了學習Expat,這里有一個很好的教程:
希望有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.