6
XPath มี (text (), 'some string') ไม่ทำงานเมื่อใช้กับโหนดที่มีโหนดย่อย Text มากกว่าหนึ่งโหนด
ฉันมีปัญหาเล็กน้อยกับ Xpath ที่มี dom4j ... ให้บอกว่า XML ของฉันคือ <Home> <Addr> <Street>ABC</Street> <Number>5</Number> <Comment>BLAH BLAH BLAH <br/><br/>ABC</Comment> </Addr> </Home> ให้บอกว่าฉันต้องการค้นหาโหนดทั้งหมดที่มี ABC ในข้อความที่ระบุองค์ประกอบราก ... ดังนั้น xpath ที่ฉันต้องการจะเขียนก็คือ //*[contains(text(),'ABC')] อย่างไรก็ตามนี่ไม่ใช่สิ่งที่ Dom4j ส่งคืน .... นี่คือปัญหา dom4j หรือความเข้าใจของฉันว่า xpath ทำงานอย่างไร เนื่องจากข้อความค้นหานั้นส่งคืนเฉพาะองค์ประกอบถนนและไม่ใช่องค์ประกอบความคิดเห็น DOM ทำให้องค์ประกอบความคิดเห็นเป็นองค์ประกอบประกอบที่มีสี่แท็กสองแท็ก [Text = 'XYZ'][BR][BR][Text = 'ABC'] ฉันจะสมมติว่าแบบสอบถามควรจะคืนองค์ประกอบเพราะมันควรจะหาองค์ประกอบและเรียกใช้มีอยู่ในนั้น แต่มันไม่ ... แบบสอบถามต่อไปนี้จะส่งคืนองค์ประกอบ แต่จะส่งกลับมากกว่าองค์ประกอบนั้นก็จะส่งกลับองค์ประกอบหลักเช่นกัน ... ซึ่งเป็นสิ่งที่ไม่พึงประสงค์สำหรับปัญหา …