สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

jokobozero
PHP Jr. Member
PHP Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 15/11/2009 11:42 am

สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย jokobozero »

ผมต้องการดึงข้อมูลจาก XML มาแสดง โดยใช้ Xpath แต่ XML ที่จะดึง มันดันมี Namespace ( : )
ข้อมูลที่จะดึงมาตามลิ้งนี้ครับ http://etutor.en.rmutt.ac.th/projecttest/document.xml
ซึ่งเมื่อดึงมาจะต้องแยกแยะได้ว่าเป็นข้อความปกติ หรือข้อความสีแดงขีดเส้นใต้

ปัญหาของผมคือ
1. จะใช้ Xpath ดึงข้อมูลออกมาได้อย่างไร
2. หรือมีวิธีใดดึงข้อมูลออกมาได้ บ้างครับ

พอดีไปเจอกระทู้เกี่ยวกับเรื่องนี้มา
http://www.jquerytips.com/2008/07/06/ho ... simplexml/
แต่ทดลองเขียนตามแล้วมัน error ครับ
ใครรู้วิธี หรือมีตัวอย่างรบกวนช่วยหน่อยครับ
ขอบคุณมากครับ
แนบไฟล์
etutor-_21-2-2553_22.22.47.png
etutor-_21-2-2553_22.22.47.png (4.78 KiB) Viewed 2708 times
แก้ไขล่าสุดโดย jokobozero เมื่อ 02/03/2010 7:26 pm, แก้ไขไปแล้ว 1 ครั้ง.
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41356
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ใช่กระทู้เดิมหรือเปล่าครับ
ตอนนี้ติด Error อะไร น่ะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
jokobozero
PHP Jr. Member
PHP Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 15/11/2009 11:42 am

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย jokobozero »

[quote="mindphp"]ใช่กระทู้เดิมหรือเปล่าครับ
ตอนนี้ติด Error อะไร น่ะครับ[/quote]

ใช่ครับ ติดปัญหาตรงที่ ต้องการดึงข้อมูลออกมาจาก xml และ ต้องแยกข้อความที่เป็นตัวหนังสืือสีแดง ขีดเส้นใต้ให้ได้น่ะครับ
คือผมต้องทำระบบนำเข้าข้อสอบโดยใช้ php ดึงข้อมูล จาก XML ของ Word ซึ่งข้อที่ถูกจะเป็นตัวหนังสืือสีแดง ขีดเส้นใต้ ซึ่งจะต้องเก็บในตัวแปรข้อถูก ส่่วนข้อ choice อื่นๆ ก็ให้เก็บในตัวแปรปกติครับ และพอดีว่าไปเจอกระทู้ที่คิดว่าน่าจะเกี่ยวข้องกับสิ่งที่ผมทำอยู่ ก็เลยทำตามดู แต่มันดันรันไม่ผ่านครับ [url]http://www.jquerytips.com/2008/07/06/how-to-use-php-simplexml/[/url]
รบกวนดูให้หน่อยครับ ตามลิ้งนีี้เค้า้ใช้วิธี เข้าถึงข้อมูล Tag ที่มี Namespace โดยการตัด : ทิ้งแล้วเชื่อมคำ ตรงนี้ผมเองทำตามเค้าแล้วรันไม่ผ่าน
ส่วนต่อไป เค้าใช้วิธีเข้าถึงข้อมูลที่อยุ่ภายใน Tag xml ลึกๆ โดยใช้วิธี xpath เข้าถึง tag ที่ต้องการได้เลยซึ่งตรงนี้ตรงกับงานของผมเลย
ใครทราบช่วยแก้ไขโค๊ดในลิ้งให้ถูกหน่อยครับ
ขอบคุณมากๆ ครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41356
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ลองดูนะครับไม่รู้ตรงตามต้องการหรือเปล่า

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

$xml_load    =    simplexml_load_file('http://etutor.en.rmutt.ac.th/projecttest/document.xml');
$node    =    $xml_load->xpath("//w:t");
print_r($node); 
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41356
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ลองดูตาม ไฟล์นะครับ หน้า 42 น่าจะพอช่วยได้
advanced_xml.pdf
(712.37 KiB) ดาวน์โหลดแล้ว 2191 ครั้ง
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
jokobozero
PHP Jr. Member
PHP Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 15/11/2009 11:42 am

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย jokobozero »

mindphp เขียน:ลองดูนะครับไม่รู้ตรงตามต้องการหรือเปล่า

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

$xml_load    =    simplexml_load_file('http://etutor.en.rmutt.ac.th/projecttest/document.xml');
$node    =    $xml_load->xpath("//w:t");
print_r($node); 
ใช่แล้วครับ
แต่ติดอีกทีนึงตรงที่จะระบุข้อมูลตัวอักษรสีแดง และขีดเส้นใต้ ได้อย่างไรดีครับ
เพราะข้อมูลที่ได้ออกมามันเป็นข้อความ ทั้งหมดเลย ไม่สามารถแยกแยะ ข้อมูลที่ต้องการได้ครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41356
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ถ้าจะให้ สี หรือ ขีดเส้น หรือตัวอักษรของเรามีคุณสมบัติคล้ายๆ ก็ต้องดึงค่าพวกนั้นมากำหนดลงใน tag html เอาเองครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
jokobozero
PHP Jr. Member
PHP Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 15/11/2009 11:42 am

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย jokobozero »

mindphp เขียน:ถ้าจะให้ สี หรือ ขีดเส้น หรือตัวอักษรของเรามีคุณสมบัติคล้ายๆ ก็ต้องดึงค่าพวกนั้นมากำหนดลงใน tag html เอาเองครับ
ผมหมายถึงว่า ตอนที่ดึงข้อมูล ยังระบุไม่ได้ว่าข้อมูลที่ดึงมาเป็นข้อความที่ต้องการ
เช่น ผมต้องการดึงเอาเฉพาะข้อความที่เป็นตัวหนังสือสีแดง และขีดเส้นใต้ ออกมาแสดงเพียงอย่างเดียว
ดังนั้นถ้าไฟล์ข้อมูลจากรูปด้านล่าง เมื่อดึงข้อมูลออกมาแล้ว จะแสดงคำว่า ถูก ออกมาเพียงคำเดียว คำว่าผิดจะต้องไม่แสดงครับ
ข้อความดังรูปที่ผมแนบมาครับ


ส่วนนี้เป็น tag xml ที่ได้จาก word ครับ

อันนี้เป็นไฟล์ word ต้นฉบับครับ
http://etutor.en.rmutt.ac.th/projecttest/correct.docx

อันนี้เป็นลิ้ง xml ที่ได้จากการแปลงไฟล์ Word ครับ
http://etutor.en.rmutt.ac.th/projecttest/correct.xml

ผมลองใช้วิธี Xpath เพื่อเข้าถึง แท็ก w:color แต่ก็ไม่มีข้อมูลออกมา เหมือนกับว่า โปรแกรมมันจะทำการดึงค่าเฉพาะส่วนที่เป็นข้อความออกมาแสดงเท่านั้น
โดยไม่สนใจ tag อื่นๆ ที่เป็นส่วน property
ช่วยแนะนำหน่อยครับว่าควรเขียนอย่างไรดีครับ
ขอบคุณครับ
แนบไฟล์
-_6-3-2553_3.34.22.png
-_6-3-2553_3.34.22.png (49.5 KiB) Viewed 2678 times
ระบุคำจากสีและเส้นใต้-_6-3-2553_2.28.39.png
ระบุคำจากสีและเส้นใต้-_6-3-2553_2.28.39.png (95.13 KiB) Viewed 1998 times
แก้ไขล่าสุดโดย mindphp เมื่อ 06/03/2010 4:13 am, แก้ไขไปแล้ว 1 ครั้ง.
เหตุผล: ?????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41356
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามการใช้ Xpath ใน XML แบบมี Namespace ( : )

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

mindphp เขียน:ลองดูตาม ไฟล์นะครับ หน้า 42 น่าจะพอช่วยได้
advanced_xml.pdf
ลองศึกษาหน้า 80 กว่าๆ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 80