Tôi đang cố phân tích cú pháp tệp xml bằng lxml. xml.etree cho phép tôi chỉ cần chuyển tên tệp dưới dạng tham số cho hàm parse
, vì vậy tôi đã cố gắng thực hiện tương tự với lxml.cách chuyển một tệp xml sang lxml để phân tích cú pháp?
Mã của tôi:
from lxml import etree
from lxml import objectify
file = "C:\Projects\python\cb.xml"
tree = etree.parse(file)
nhưng tôi nhận được lỗi:
Traceback (most recent call last):
File "cb.py", line 5, in <module>
tree = etree.parse(file)
File "lxml.etree.pyx", line 2698, in lxml.etree.parse (src/lxml/lxml.etree.c:4
9590)
File "parser.pxi", line 1491, in lxml.etree._parseDocument (src/lxml/lxml.etre
e.c:71205)
File "parser.pxi", line 1520, in lxml.etree._parseDocumentFromURL (src/lxml/lx
ml.etree.c:71488)
File "parser.pxi", line 1420, in lxml.etree._parseDocFromFile (src/lxml/lxml.e
tree.c:70583)
File "parser.pxi", line 975, in lxml.etree._BaseParser._parseDocFromFile (src/
lxml/lxml.etree.c:67736)
File "parser.pxi", line 539, in lxml.etree._ParserContext._handleParseResultDo
c (src/lxml/lxml.etree.c:63820)
File "parser.pxi", line 625, in lxml.etree._handleParseResult (src/lxml/lxml.e
tree.c:64741)
File "parser.pxi", line 565, in lxml.etree._raiseParseError (src/lxml/lxml.etr
ee.c:64084)
lxml.etree.XMLSyntaxError: AttValue: " or ' expected, line 2, column 26
Tôi đang làm gì sai?
Như đã nói trong câu trả lời được chấp nhận, không có gì sai với 'lxml' ở đây, do đó hãy downvoting câu hỏi. Có thể việc đổi tên tiêu đề của câu hỏi sẽ tránh tìm kiếm sai sự cố trên mô-đun này. –
@ Joel - Tiêu đề câu hỏi của tôi không ngụ ý rằng có gì sai với 'lxml' - chỉ có thể có điều gì đó sai với cách tôi chuyển tệp tới lxml để phân tích cú pháp. Nếu bạn có thể đề xuất một tiêu đề thay thế thì tôi sẽ rất vui khi bắt buộc (nó không rõ ràng từ bình luận của bạn những gì bạn nghĩ rằng tôi nên thay đổi nó). – BeeBand
Hum. Thật lạ lùng, giờ đây tôi không thấy gì sai với tiêu đề:/Vì vậy, có thể tôi đã bỏ lỡ câu hỏi đúng và đã đánh dấu nhầm bạn! Và, tôi không thể loại bỏ downvote mà không cần bạn chỉnh sửa câu hỏi. Nếu bạn làm một chút chỉnh sửa để mở khóa nó, tôi sẽ vui lòng sửa lỗi của tôi. –