หน้า 1 จากทั้งหมด 1

อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 18/09/2017 11:28 am
โดย thatsawan

โค้ด: เลือกทั้งหมด

EntityRef: expecting ';', line 4185, column 253: (<class 'lxml.etree.XMLSyntaxError'>, XMLSyntaxError(u"EntityRef: expecting ';', line 4185, column 253",), <traceback object at 0x05C7E2B0>) 
ตอนนี้ส่งค่าจาก python มาเเล้วมาเจอ error แบบนี้ เเต่ไม่รู้ว่ามันมาจาก ค่าไหนที่เราส่ง พอจะมีวิธีดักค่ามั้ยค่ะ

Re: อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 18/09/2017 11:35 am
โดย thatsawan
ลองเพิ่ม

โค้ด: เลือกทั้งหมด

.encode('ascii', 'xmlcharrefreplace')
ก้อยังไม่ได้ค่ะ

Re: อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 19/09/2017 12:31 am
โดย thatsawan
ใช้ไม่ได้

โค้ด: เลือกทั้งหมด

encode('ascii', 'ignore')

โค้ด: เลือกทั้งหมด

encode('utf-8','replace')
เช็คค่าที่ run ออกมาเป็น type <type 'unicode'>

Re: อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 19/09/2017 12:48 am
โดย thatsawan
แก้ไขได้เเล้ว

สุ่มค้นหาเเล้วเเทนที่ค่าว่างไปเรื่อยๆ จนเจอสาเหตุมาจากมี สัญญาลักษณ์ ที่ไม่สามารถใช้งานได้ปนยุ คือ &

โค้ด: เลือกทั้งหมด

 str = name
        substr1 = "&"
        substr2 = " "
        name = "%s" % str.replace(substr1, substr2) 

Re: อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 19/09/2017 3:46 am
โดย mindphp
ระวังพวก < กับ > ด้วยนะครับ
ลองดูบทความนี้ สำหรับไว้ค้นหาข้อมูลต่อ
https://www.mindphp.com/%E0%B8%9A%E0%B8% ... mming.html

Re: อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 28/09/2017 11:40 am
โดย thatsawan
เจอปัญหาเเล้วค่ะ
นอกจาก & มาเจอที่ < เเละ >

เเต่ยังไม่รู้จะแก้ปัญหายังไง เเบบที่ไม่ต้องมาเช็คค่าที่ละตัว

Re: อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ

โพสต์แล้ว: 28/09/2017 11:51 am
โดย thatsawan
thatsawan เขียน:เจอปัญหาเเล้วค่ะ
นอกจาก & มาเจอที่ < เเละ >

เเต่ยังไม่รู้จะแก้ปัญหายังไง เเบบที่ไม่ต้องมาเช็คค่าที่ละตัว
ได้ 1 วิธี

โค้ด: เลือกทั้งหมด

rep_chars = ['\\', '/', ':', '*', '?', '"', '<', '>', '|']
name = "/:*?\"<>name"
for char in rep_chars:
    name = name.replace(char,'')
    print name


วิธีที่ 2 ไม่ต้อง loop

โค้ด: เลือกทั้งหมด

import re
name = "/:*?\"<>& name"
newName = re.sub('[\\\\/:*?"<>|&]', 'newname ', name)

print newName