Nếu XML rất tệ, tại sao nhiều người sử dụng nó? [đóng cửa]


37

Tôi hiểu mục đích của XML, nhưng tôi luôn nghe mọi người phàn nàn về cách BAD của nó? Tôi không thực sự hiểu những gì xấu về nó? Tôi thường nghe các thuật ngữ "cồng kềnh" và "chậm" được ném xung quanh.

Nhưng tôi đoán là lập trình viên, bạn chủ yếu sử dụng nó để làm gì? Và bạn có thực sự coi nó là "xấu" .... bởi vì nếu có, rất nhiều người sử dụng nó để vận chuyển dữ liệu ...


1
Câu trả lời của bạn là trong câu hỏi. Mọi người vẫn sử dụng nó bởi vì mọi người thường sử dụng nó và các tùy chọn là (1) viết lại tất cả các mã đã sử dụng trước JSON và YAML, hoặc (2) hút nó lên và làm điều ngu ngốc. Nhiều người vẫn còn duy trì các chu kỳ bạo lực. Điều đó không chứng minh giá trị vốn có của thực tiễn.
Bắn Parthian

5
Hãy thử JSON cho một tài liệu thực tế (trang man, Knuth, Hamlet, v.v.). Sau đó, bạn sẽ hiểu tại sao XML là thiết yếu. Đây là một không gian nơi JSON hút (hãy tiếp tục, thử). Sử dụng một trong hai không gian thiết kế của người khác là nghi vấn. Các vấn đề từ việc sử dụng XML trong không gian của JSON chủ yếu là tính dài dòng và tốc độ, trong khi các vấn đề từ việc sử dụng JSON trong không gian của XML có xu hướng liên quan đến tính di động (cố gắng tương tác với một người bạn đã làm một cuốn sách về JSON, nhưng theo cách riêng của họ), tính toàn vẹn và vấn đề giải thích đòi hỏi rất nhiều nỗ lực của con người để khắc phục. Sử dụng công cụ phù hợp cho công việc của bạn.
TextGeek

XML chỉ xấu vì nhiều người lạm dụng nó cho những thứ không được thiết kế cho. Nếu bạn không cần dữ liệu của mình có thể mở rộng dễ dàng (nghĩa là lược đồ được sử dụng bởi nhiều bên cần phải tương tác, thay vì tập trung bởi một bên có thẩm quyền) và nếu dữ liệu của bạn không phải là tài liệu (ví dụ: nếu DOM sẽ Đã có sự trừu tượng hóa dữ liệu của bạn kém), thì XML không phù hợp với các ứng dụng đó. Khi miền vấn đề của bạn nằm trong những gì XML được thiết kế cho mặc dù, không có gì khác phù hợp với XML. JSON, YAML, v.v ... rất phù hợp với không gian mà XML thực sự được thiết kế.
Nói dối Ryan

Câu trả lời:


90

Xml là tuyệt vời cho những gì nó được thiết kế - một giao thức truyền dữ liệu trung lập, có thể đọc được của con người với một số khả năng để thực thi xác thực dữ liệu ở mức thấp. Tôi nghi ngờ bất cứ ai sử dụng Xml theo cách này đều có khiếu nại thực sự. Đây có phải là định dạng dây succint nhất? Không. Nhưng có những lựa chọn tồi tệ hơn. Có nhanh như đọc định dạng nhị phân tùy chỉnh của bạn? Không. Nhưng các đối tác kinh doanh của bạn có thể đọc nó trong bất kỳ ngăn xếp nào họ đang sử dụng.

Tuy nhiên, vấn đề là con người - đặc biệt là giống chó được gọi là kiến ​​trúc sư doanh nghiệp - là ác quỷ và lấy những điều tốt và làm cho chúng xấu đi. Trong trường hợp của Xml, phần đầu của thế kỷ này đã xem Xml là cái búa phổ quát cho mọi vấn đề CNTT. Rắc rắc trong một thiết kế nhỏ của ủy ban và bạn kết thúc với một số điều quái dị khủng khiếp như SOAP và oXML . Không ai trong số đó nên được ước muốn trên kẻ thù, không bao giờ kết bạn với bạn bè hoặc đồng nghiệp.


15
+1 - bất cứ ai đã từng phải đối phó với EDI chỉ mong muốn XML đã được phát minh trước khi mớ hỗn độn đó xuất hiện.
Scott Whitlock

12
+1 Phù hợp với suy nghĩ của tôi gần như chính xác. Tôi chỉ thêm rằng để lưu trữ dữ liệu đơn giản và đơn giản, ngay cả khi đó là phân cấp (nhưng không quá sâu, không kết hợp tốt với bất cứ thứ gì ), có một số định dạng hoạt động tốt - đặc biệt là JSON và YAML. Thứ hai là imho tuyệt vời liên quan đến khả năng đọc của con người.

11
Để diễn giải jwz: "Có một loại lập trình viên nhất định sẽ xem xét bất kỳ vấn đề nào và nói, 'Tôi biết, tôi sẽ sử dụng XML.' Bây giờ anh ấy có hai vấn đề. "
Adam Crossland

13
Xin vui lòng cho tôi biết oXML được dự định như một trò đùa, như Brainfuck hoặc Whitespace hoặc LOLCODE.
dsimcha

9
@Shamim Hafiz, SOAP chắc chắn là một trong những điều quái dị tồi tệ nhất từng được nhân loại tạo ra.
SK-logic

24

XML chỉ là một công cụ có nhiều hương vị và cách sử dụng. XML vượt trội ở một số thứ và hút vào những thứ khác. Tôi nghĩ một trong những vấn đề là mọi người đã thấy XML "doanh nghiệp" phức tạp không cần thiết với các không gian tên và crap rải rác xung quanh (SOAP, có ai không?). Mẹo để thiết kế các định dạng XML cho con người là thêm ý nghĩa thực sự vào dữ liệu trong khi không khiến chúng bị quá tải để đọc.

Một trong những điều mà mọi người gặp phải là vấn đề XML đôi khi gây ra một số ký tự hoặc một số dấu ngoặc bị thiếu. Tuy nhiên, có cả nhược điểm và nhược điểm. Ưu điểm là bạn không có sự mơ hồ như bạn có với HTML trong đó các trường hợp cú pháp bán không hợp lệ khác nhau có thể được diễn giải khác nhau.

Nhược điểm là tác giả khó hơn một chút và khó học hơn. Tôi đồng ý rằng có một lập luận được đưa ra rằng web sẽ không phát triển quá nhanh nếu HTML nghiêm ngặt như XML, nhưng tôi cũng cho rằng chúng ta sẽ vui mừng nếu ngày nay nó hoạt động. :)

Ngoài ra, không sử dụng nó cho tất cả mọi thứ chỉ vì bạn có thể, có ý thức và phán đoán để áp dụng nó một cách thích hợp. Nếu tất cả những gì bạn có là XML, bạn có xu hướng luôn là một phép chuyển đổi XSLT khỏi những gì bạn muốn. :)

Tôi cho rằng định dạng chỉ thực sự quan trọng khi con người cần tương tác với nó. Nếu bạn đang viết một số chương trình nối tiếp một cái gì đó và gửi nó đến một nơi nào đó mà nó sẽ được sử dụng bởi một chương trình khác, thì ai quan tâm nó trông như thế nào miễn là nó hiệu quả nhất có thể? Sử dụng định dạng nhị phân hoặc thỏ và kỳ lân cho tất cả những gì tôi quan tâm.

Ưu điểm của XML

  • Bao gồm rất nhiều trường hợp cạnh mà YAML và JSON không
  • Có các công cụ tuyệt vời để phân tích cú pháp và xác thực XML trong một loạt các nền tảng và ngôn ngữ khác nhau
  • XML có thể dễ dàng và mạnh mẽ được chuyển đổi sang định dạng khác (thông qua những thứ như XSLT)
  • Các tài liệu XML hợp lý rất đơn giản để con người đọc và chỉnh sửa; đừng nói với tôi JSON dễ hơn, không phải vậy :)
  • XML tự mô tả ở một mức độ nào đó, tức là nó trực tiếp chứa thông tin về cấu trúc và ý nghĩa của nó (trái ngược với hầu hết các định dạng nhị phân)
  • Xử lý mã hóa
  • Không gian trắng, giúp sử dụng đa nền tảng dễ dàng hơn
  • Phá vỡ nếu nó không được định dạng tốt (Đảm bảo dữ liệu có cấu trúc chính xác)
  • Nó không phải là SGML

Nhược điểm

  • Rực rỡ
  • Nó không nhanh như phân tích cú pháp như nhị phân
  • Phá vỡ nếu nó không được định dạng tốt (làm hỏng ứng dụng của bạn)

Sử dụng tốt

  • Tập tin cấu hình
  • Định dạng trao đổi dữ liệu
  • Phiên bản định dạng tệp đàn hồi
  • Lưu trữ tài liệu trong cơ sở dữ liệu

Sử dụng không tốt

  • Định dạng truyền dữ liệu
  • Đối tượng nối tiếp
  • Lưu trữ dữ liệu quan hệ trong cơ sở dữ liệu
  • Định dạng tệp cho các kịch bản I / O hiệu suất cao

13
Tôi nghi ngờ rằng "tập tin cấu hình" phải ở dưới "sử dụng tốt". Họ không có dữ liệu, đúng hơn là hướng dẫn.
daknøk

3
Tôi đang ở với @ daknøk ở đây - Tôi không thể đếm được số lần tôi đã phải bỏ ra một lượng lớn thời gian để tìm ra một lỗi cấu hình trong một loạt các tệp XML dài dòng chỉ định nội dung tiêm phụ thuộc, dựa trên một lỗi đánh máy nhỏ một thuộc tính XML.
Gjallar

3
Nếu dữ liệu xấu làm hỏng ứng dụng thì đó có phải là dữ liệu có vấn đề không?
James Snell

4
Bất kỳ định dạng tệp nào không đúng định dạng / bị hỏng đều có khả năng bị sập phần mềm. Vì vậy, XML không phải là thủ phạm ở đây ... chỉ là ứng dụng của bạn. Nếu không, bài tốt.
Thomas Eding

3
Bạn có thể mở rộng trên "Bao gồm nhiều trường hợp cạnh mà YAML và JSON không."?
Trevor Hickey

14

Jeff Atwood có một bài đăng blog khá hay tại XML: Thuế khung góc về điều này nếu bạn muốn có một nguồn nói về nó.

Các ứng dụng phổ biến nhất tôi có cho nó là:

  • Dịch vụ nói chuyện với nhau. Ví dụ: một trang web sử dụng hệ thống quản lý nội dung phải gửi một số dữ liệu vào hệ thống quản lý quan hệ khách hàng và điều này được thực hiện với XML.

  • Cấu hình lưu trữ. Web.config và app.config là các ví dụ phổ biến nhưng các tập lệnh nAnt cũng có thể sử dụng một số XML cho chúng.

Tôi không nghĩ rằng nó là tối ưu nhưng một mình nó không làm cho nó tồi tệ với tâm trí của tôi.


11

Hai lý do:

  1. Có rất nhiều lập trình viên tồi tệ ngoài kia. XML có thể xấu, nhưng nó cũng đơn giản (ít nhất là trên bề mặt) và làm cho nó rất dễ dàng để viết phần mềm xấu. Sắp xếp như VB.
  2. Rất nhiều người đưa ra các quyết định này không phải là lập trình viên, nhưng các loại hình kinh doanh chỉ nghe nói rằng "mọi người đều sử dụng XML" và vì vậy họ quyết định họ cũng muốn sản phẩm của họ sử dụng XML.

Thật là một điểm vô lý và hoàn toàn vô dụng. 1) XML không tốt lắm và hoàn toàn không liên quan gì đến chất lượng của phần mềm mà mọi người viết dù họ có chọn hay không, tôi đã thấy các lập trình viên VB khá giỏi, ngụ ý rằng nếu bạn sử dụng VB thì bạn thực sự viết phần mềm xấu thật ngớ ngẩn vì có sự ngắt kết nối hoàn toàn giữa cách bạn viết phần mềm và với những gì bạn sử dụng để viết phần mềm. 2) Tuy nhiên, một giả định sai lầm khác, chọn XML là tuyệt vời và hầu hết những người đang chọn nó tốt hơn hay xấu hơn chắc chắn là các lập trình viên. XML không phải là viên đạn bạc nhưng nó tốt cho những thứ nhất định.
Eyal Solnik

2
@EyalSolnik: Một số người, khi gặp vấn đề, nghĩ rằng tôi biết, tôi sẽ sử dụng XML.,<Problem:Worsening> <Problem:TimeDescription>Now</Problem:TimeDescription> <Problem:Posessive>they have</Problem:Posessive> <Problem:Quantity>many, many</Problem:Quantity> <Problem:WorseningDescription>more problems</Problem:WorseningDescription> </ProblemWorsening>
Mason Wheeler

3
Chỉ vì mọi người lạm dụng một cái gì đó không có nghĩa là công nghệ này là xấu, bạn có thể thấy hội chứng tương tự ở nhiều nơi.
Eyal Solnik

8

Tôi thường nghe các thuật ngữ "cồng kềnh" và "chậm" được ném xung quanh.

Đây không phải là cú pháp nhỏ gọn nhất, nhưng rõ ràng đây là cú pháp biểu cảm nhất. Con người có đọc được không? phụ thuộc vào cách bạn thiết kế ngôn ngữ của bạn. Hầu hết mọi người không thiết kế ngôn ngữ cho XML, họ chỉ tuần tự hóa các đối tượng dưới dạng XML.

Tại sao nhiều người sử dụng nó?

Nó có mặt khắp nơi. Bạn có thể truy vấn cơ sở dữ liệu XML bằng XQuery, chuyển đổi kết quả bằng XSLT thành XHTML hoặc Atom, lấy định dạng Atom hoặc XML khác từ các dịch vụ web khác, nhận XML từ người dùng bằng XForms, xác thực nó bằng XMLSchema, Thư giãn NG hoặc Schematron, xử lý nó với XProc, lưu nó trở lại cơ sở dữ liệu với XQuery Update. Tất cả các công cụ này đều hiểu XML, do đó không cần ánh xạ giữa các biểu diễn khác nhau.

XML không phải là một công nghệ tuần tự hóa, nó là một bộ thông tin mục đích chung.


... Và chúng tôi tự hỏi mình trong nhiều năm tại sao cho việc tạo màu SOAP đã được xây dựng dựa trên XML.
JensG

6

Ở đây, chúng tôi sử dụng nó để trao đổi dữ liệu giữa các hệ thống khác nhau được thực hiện bởi các nhà cung cấp khác nhau với các đại diện nội bộ khác nhau. Chúng tôi xây dựng một hệ thống chuyển đổi / trao đổi XML để đưa dữ liệu qua lại. Nó hoạt động tốt cho điều đó.

XML vốn không tệ, nhưng tôi thừa nhận rằng việc thiết kế một giải pháp "tốt" bằng cách sử dụng XML không phải là chuyện nhỏ.


5

"Bản chất của XML là đây: vấn đề mà nó giải quyết không khó và nó không giải quyết được vấn đề tốt." - Phil Wadler, POPL 2003

Ý kiến ​​cá nhân của tôi là miễn là bạn không quan tâm đến việc xác thực, lược đồ, XSLT và các công cụ xấu xí còn lại và bạn giữ kích thước của các tệp nhỏ (nếu không phân tích cú pháp trở nên chậm), bạn có thể tìm thấy một số cách sử dụng XML tốt (một ví dụ là để cấu hình ứng dụng của bạn thay vì sử dụng các tệp INI).


4

Theo kinh nghiệm của tôi, mọi người chủ yếu phàn nàn về cách nó được sử dụng, chứ không phải bản thân công nghệ.

Các bit cồng kềnh và chậm mà mọi người phàn nàn thường là các thư viện / phương thức được sử dụng để lấy thông tin từ nó.

Tôi sử dụng nó để lưu trữ một lượng nhỏ thông tin có cấu trúc mà tôi muốn lưu trữ trên đĩa (không có cơ sở dữ liệu hoặc tuần tự hóa nhị phân) hoặc chuyển sang ứng dụng khác (về cơ bản cũng mô tả SOAP).


2

Nó tốt vì:

Đó là một "Giao diện" tiêu chuẩn mà nhiều hệ thống không đồng nhất có thể sử dụng để giao tiếp. Và có thể đọc được "Con người" (loại, hãy thử nhìn chằm chằm vào 5 MB XML)

Thật tệ vì:

Nó cồng kềnh, kích thước lớn hơn = băng thông nhiều hơn = nhiều $$

Có những lý do khác, mọi người đều có một sự kìm kẹp khác nhau ...


4
@Darknight: Tôi thách thức con người có thể đọc được bằng cách ném các Thực thể Xml vào bạn ... (tiểu thư cá nhân)
Matthieu M.

1
Tôi không nghĩ rằng XML vốn đã bồng bềnh - nhưng việc triển khai nó là như vậy. Tôi thấy XML-RPC đặc biệt nghiêm trọng ở sự phình to không cần thiết.
HorusKol

3
@HorusKol: <advanceAcceptanceIndicator>Y</advanceAcceptanceIndicator>Dữ liệu tỷ lệ / đánh dấu quá thấp ... Tôi gọi đây là "cồng kềnh". Ví dụ, JSon sẽ chỉ là một nửa cồng kềnh : advanceAcceptanceIndicator: "Y". Ngoài ra còn có một thực tế là văn bản giữa các thẻ là hợp lệ, vì vậy khi đọc Xml, bạn cần quyết định phải làm gì với hành trình này \n\t\t\tvà giải pháp thường là bỏ qua nó, bởi vì bạn chưa bao giờ thực sự quan tâm đến điều này.
Matthieu M.

1
@HorusKol: Nó sẽ như vậy, nhưng tôi chưa bao giờ nói đó là một giá trị boolean, nó chỉ là một char duy nhất :) Việc sử dụng thuộc tính ở đây ( value?) Có lẽ cũng tốt hơn, bởi vì mọi người có thể bị cám dỗ để chèn khoảng trắng giữa hai thẻ.
Matthieu M.

1
"Nó cồng kềnh, kích thước lớn hơn = băng thông nhiều hơn = nhiều $$" Tôi đoán rằng nén chưa được phát minh ở nơi bạn đang ở.
Andy

2

Giống như bất kỳ công nghệ nào khác: có nhiều công cụ và thư viện có sẵn.

Tôi không thích XML, đặc biệt là vì nó thú vị, khi mọi người nói rằng nó có thể đọc được, họ nói đùa, tôi nghĩ hoặc chưa bao giờ thực sự đọc một xml khi một người cố gắng nhúng xml vào một thuộc tính ... các thực thể xml làm cho nó thực sự không thể đọc được. Hơn nữa, thật đáng kinh ngạc khi có bao nhiêu không gian bị lãng phí vì thẻ kết thúc dư thừa và khả năng trộn văn bản và dữ liệu miễn phí ...

Nhưng:

  • Xml có thể được chỉ định (xsd) và các công cụ có sẵn để kiểm tra sự phù hợp của dữ liệu Xml
  • rất nhiều công cụ (trình soạn thảo văn bản và tương tự) hỗ trợ Xml
  • rất nhiều thư viện (về mọi ngôn ngữ lập trình) hỗ trợ Xml

Nó cũng có lợi thế của sự ưu tiên, hầu hết các lần. Khi bạn đã cung cấp dịch vụ web bằng Xml và người ta yêu cầu dịch vụ mới ... có thể nó sẽ được thực hiện trong Xml vì đó là những gì bạn biết.


5
XML dễ đọc hơn dữ liệu nhị phân hoặc vị trí hoặc được phân cách bằng dấu phẩy.
Thất vọngWithFormsDesigner

Chỉ dành cho một người dùng ngây thơ. Nếu tôi phải quét trực quan một vài trăm bản ghi để tìm một bản ghi bị thiếu một số dữ liệu, tôi sẽ tìm một số cột trống trong một khối các bản ghi có độ dài cố định hơn là lội qua hàng loạt các yếu tố và thuộc tính đang tìm kiếm một thẻ trống.
TMN

1
@FrustratedWithFormsDesigner: nó thực sự phụ thuộc vào dữ liệu trong tay. Xml nhúng bản chất của thông tin gần thông tin thích hợp. Nếu bạn nhìn vào các ngôn ngữ lập trình chức năng, bạn sẽ thấy những thứ như (Haskell) : data Person = Person { surname :: String, firstName :: String, age :: Int }, nếu tôi cũng thấy Person "Doe" "John" 42nó có thể đọc được và tránh được nhiều hành trình, nhưng nó gần với dấu phẩy hơn.
Matthieu M.

1
Ok, ví dụ của bạn dễ đọc hơn khi không có đánh dấu, nhưng các ví dụ tầm thường (tôi muốn nói ít hơn 8 hoặc 9 phần tử dữ liệu) có thể được thực hiện để hỗ trợ tất cả các biểu mẫu (ngoại trừ có thể là nhị phân). Datafeeds từ máy tính lớn có nguồn gốc như dây đàn vị trí được phân định (và hầu hết nó chỉ là mã số), và họ là nhiều dễ dàng hơn để đọc và gỡ lỗi và quản lý sau khi được chuyển thành XML. Giống như bạn đã nói, nó có thể phụ thuộc ...
Thất vọngWithFormsDesigner

@FrustratedWithFormsDesigner: Vâng, đó chính xác là quan điểm của tôi :) Điều đó phụ thuộc, nhưng vì có một hệ sinh thái phong phú cho XML và vì chỉ duy trì một bộ công cụ / thư viện nên mọi người thường sử dụng XML cho mọi thứ. Cá nhân, tôi ủng hộ JSon hơn XML, nhưng một lần nữa không có sự thụt lề, nó rất lộn xộn: p
Matthieu M.

-1

XML là một lựa chọn kém cho các tệp phải được duy trì bởi con người. Không có sự tách biệt trực quan giữa đánh dấu và nội dung, làm cho nó khó đọc. Thật tẻ nhạt khi viết chính xác mà không có trình soạn thảo có mục đích đặc biệt. Bất kỳ lỗi nào trong tài liệu XML đều gây tử vong; một tài liệu XML không thể được xử lý một phần. Khi một tệp XML không hợp lệ, thông báo lỗi kết quả thường không có ích.

Đối với bất kỳ tệp nào phải được duy trì bởi con người, tôi muốn sử dụng bất kỳ JSON, YAML hoặc mã nguồn nào trong một số ngôn ngữ được dịch (Python, Ruby, Groovy, v.v.). Chúng tôi đã thấy rằng một cách tuyệt vời để tạo cấu hình XML cho mã kế thừa là sử dụng Groovy MarkupBuilder. Một lựa chọn tốt khác là tạo một ngôn ngữ dành riêng cho tên miền; điều này khá dễ thực hiện với Ruby, Groovy và nhiều ngôn ngữ khác.


8
Tôi nghĩ rằng bạn đang thiếu điểm XML, đánh dấu nội dung. Mục đích của XML là mô tả ý nghĩa của dữ liệu của bạn. Ví dụ: nếu bạn có số điện thoại, hãy gắn thẻ nó làm số điện thoại cố định hoặc số điện thoại bổ sung thêm ngữ cảnh mà người khác có thể sử dụng. Hoặc thêm một thẻ điện thoại xung quanh văn bản cho vấn đề đó (có thể làm cho số đó có thể gọi được trên điện thoại di động). Đối với các điểm khác của bạn, tôi cũng không đồng ý. Việc ủy ​​quyền tài liệu xml thường khá đơn giản. Các thông báo lỗi luôn liên quan đến sự ổn định và tôi sẽ chỉnh sửa xml bằng cách bàn giao JSON bất kỳ ngày nào
Homde

@konrad ví dụ điện thoại của bạn sẽ hợp lệ cho HTML.
Florian F

"Bất kỳ lỗi nào trong tài liệu XML đều nghiêm trọng; tài liệu XML không thể được xử lý một phần." Vâng, đó là một mệnh giá lớn so với điểm của XML.
Andy

@Andy Sẽ khá vô dụng nếu XML được viết bởi con người và ứng dụng chỉ nói "sai!". Một biên tập viên con người cần biết dòng phát hiện lỗi.
kevin cline

Bất kỳ số lượng công cụ nào cũng cho bạn biết chính xác dòng nào và thường phát hiện ra ký tự nào. Công cụ XML trong NotePad ++ chẳng hạn. .Net sẽ cho bạn biết chính xác nơi tệp .config của bạn cũng sai. Nếu bạn đang nói về API, một trong những lợi ích của XML là nhà phát triển API cũng có thể cung cấp XSD, ngoài việc đảm bảo cú pháp XML hợp lệ cũng có thể cho bạn biết nếu bạn có bất kỳ yếu tố nào không thuộc về, nếu có chỉ là một trong những yếu tố đó, vv json viết tay dễ dàng hơn nhiều để bắt vít.
Andy

-2

Phân tích cú pháp tương đối dễ dàng trong khi con người có thể đọc được cùng một lúc.

Và một số trình phân tích cú pháp đẹp (Ví dụ: Xerces {c ++}) có sẵn.


2
Chà, thật dễ dàng miễn là tài liệu còn nhỏ. Nếu bạn phải phân tích các tài liệu quá lớn để phù hợp với bộ nhớ, thì mọi thứ trở nên tồi tệ.
TMN

Tôi muốn hỏi phần dễ đọc của con người. Nó chỉ mất quá nhiều nỗ lực để đọc XML hơn là đọc một JSON tương đương.
cmaster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.