สอบถามเรื่องการเปลี่ยน string เป็น xml ครับ

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

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

ตอบกลับโพส
jakepae
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

สอบถามเรื่องการเปลี่ยน string เป็น xml ครับ

โพสต์ โดย jakepae »

ผมต้องการที่จะเปลี่ยนให้ string เหล่านี้

<?xml version="1.0" encoding="iso-8859-1"?><BWIDATA><HEADER><HEADER_ID>A001</HEADER_ID><HEADER_VERSION>01</HEADER_VERSION><SYSTEM_CODE>BAS</SYSTEM_CODE><KOMM_METHODE>TS</KOMM_METHODE><KOMM_TIMEOUT_SEKUNDEN>003</KOMM_TIMEOUT_SEKUNDEN><KOMM_PARAMETER/><GP_ID>C55QN01</GP_ID><GP_VERSION>0004</GP_VERSION><KNDNR>42025922</KNDNR><KNDFILIALE></KNDFILIALE><TRANSCODE/><TRANSTMS/><RETCODE>00000000</RETCODE><RETTMS>2008-06-13-05.54.33.408343</RETTMS><TRANSFNK>AN</TRANSFNK><TRANSSEQ></TRANSSEQ><USERID>09919220</USERID><SEGMENTNAME>C55QN54</SEGMENTNAME><SEGMENTVERSION>0204</SEGMENTVERSION><FREMD_USERID></FREMD_USERID><DIALOGSPRACHE>01</DIALOGSPRACHE><PROG_VERSION>01</PROG_VERSION><XML_MARKUP_KZ>01</XML_MARKUP_KZ></HEADER>

ให้กลายเป็นแบบนี้
<?xml version="1.0" encoding="iso-8859-1" ?>
- <BWIDATA>
- <HEADER>
<HEADER_ID>A001</HEADER_ID>
<HEADER_VERSION>01</HEADER_VERSION>
<SYSTEM_CODE>BAS</SYSTEM_CODE>
<KOMM_METHODE>TS</KOMM_METHODE>
<KOMM_TIMEOUT_SEKUNDEN>003</KOMM_TIMEOUT_SEKUNDEN>
<KOMM_PARAMETER />
<GP_ID>C55QN01</GP_ID>
<GP_VERSION>0004</GP_VERSION>
<KNDNR>42025922</KNDNR>
<KNDFILIALE />
<TRANSCODE />
<TRANSTMS />
<RETCODE>00000000</RETCODE>
<RETTMS>2008-06-13-03.46.31.419142</RETTMS>
<TRANSFNK>AN</TRANSFNK>
<TRANSSEQ />
<USERID>09919220</USERID>
<SEGMENTNAME>C55QN54</SEGMENTNAME>
<SEGMENTVERSION>0204</SEGMENTVERSION>
<FREMD_USERID />
<DIALOGSPRACHE>01</DIALOGSPRACHE>
<PROG_VERSION>01</PROG_VERSION>
<XML_MARKUP_KZ>01</XML_MARKUP_KZ>
</HEADER>
พอจะมีฟังก์ชันหรือวิธีการอะไรบ้างมั้ยครับ ขอบคุณทุก ๆ คำตอบล่วงหน้าครับ
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์ โดย mindphp »

xml จริงๆ ก็มัน string นั่นแหละครับ แต่จะมีรูปแบบ เป็น
โครงสร้างของเอกสาร XML
ที่ยกมา ผมไม่เห็น ว่ามันจะต่างกัน ตรงไหน
และมีความจำเป็น อะไร ที่ต้อง ทำแบบนั้นครับ
ทั้งสอง แบบต่างกัน แค่ มี
\n กับ ไม่มี
หรือ ถ้าแสดงผลบน browser ก็ จะมี <br/> เพิ่มเข้ามา
สร้างไฟล์ pdf online
ท่องเที่ยว http://www.thailandhotelforums.com/" onclick="window.open(this.href);return false;
สอน php http://www.mindphp.com/" onclick="window.open(this.href);return false;
jakepae
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย jakepae »

ขอบคุณครับที่ช่วยตอบให้

คือประมาณแบบนี้นะครับ
ผมรับค่าที่web service ตอบกลับมาแล้วมันก็จะอยู่ในรูปแบบแนวนอนที่เรียงต่อกันยาวอย่างที่เห็นนั่นล่ะครับ ซึ่งยังไม่ได้จัดในรูปแบบแนวตั้งตามที่ยกตัวอย่างไปครับ

ทีผมอยากจะได้ผลลัพธ์ก็คือ เมื่อเรารับค่าที่ได้มาในแนวนอน ผมอยากจะจัดให้มันอยู่ในแนวตั้งที่รูปแบบถูกต้องของ xml พอจะมีวิธีหรือfunctionที่ใช้จัดรูปแบบมั้ยครับ
และเมื่อทำการ save เป็นไฟล์ .xml และเมื่อเปิดไฟล์ที่ save ขึ้นมาผมกก็อยากให้มันอยู่ในแนวตั้งที่จัดรูปแบบไว้แล้วน่ะครับ พอจะมีวิธีมั้ยครับ
ขอบคุณล่วงหน้าอีกทีครับ ที่ตอบให้
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์ โดย mindphp »

รูปแบบถูกต้องของ xml <--- มันถูกอยู่แล้วครับ มันมี tag ที่ถูกต้อง อยู่ แล้วครับ
มี element เปิด และ ปิด อยู่ แล้ว
สร้างไฟล์ pdf online
ท่องเที่ยว http://www.thailandhotelforums.com/" onclick="window.open(this.href);return false;
สอน php http://www.mindphp.com/" onclick="window.open(this.href);return false;
jakepae
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย jakepae »

ขอบคุณครับ

แต่ว่าเวลาที่เรา Save ทำไมมันไม่เรียงเป็นบรรทัด ๆ ให้ล่ะครับ
เพราะที่ผมอยากให้เรียงเป็นบรรทัด ๆ ก็เพราะว่าผมได้เขียนฟังก์ชันเก็บเอาข้อมูลของแต่ละบรรทัดมาเพื่อ insert ในฐานข้อมูลของผมเองครับ
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์ โดย mindphp »

ถ้าท่าน ทำตามคำแนะนำที่
http://www.mindphp.com/modules.php?name ... pic&t=3173
มันไม่จำเป็นต้องทำเรื่องขึ้นบันทัดใหม่ ครับ จะใช้วิธีอ่าน tag เอา
สร้างไฟล์ pdf online
ท่องเที่ยว http://www.thailandhotelforums.com/" onclick="window.open(this.href);return false;
สอน php http://www.mindphp.com/" onclick="window.open(this.href);return false;
jakepae
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 10
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย jakepae »

ขอบคุณครับ
ขอถามอีกนะครับ หวังว่าคงไม่รำคาญนะ
คือว่าผมใช้ php 4 น่ะครับ เลยใช้ SimpleXML ไม่ได้ครับ

แล้วสมมุติถ้าจะเปลี่ยนจาก
"?><BWIDATA><HEADER><HEADER_ID>A001</HEADER_ID><HEADER_VERSION>01</HEADER_VERSION><SYSTEM_CODE>BAS</SYSTEM_CODE><KOMM_METHODE>TS</KOMM_METHODE><KOMM_TIMEOUT_SEKUNDEN>003</KOMM_TIMEOUT_SEKUNDEN><KOMM_PARAMETER/><GP_ID>C55QN01</GP_ID><GP_VERSION>0004</GP_VERSION><KNDNR>42025922</KNDNR><KNDFILIALE></KNDFILIALE><TRANSCODE/><TRANSTMS/><RETCODE>00000000</RETCODE><RETTMS>2008-06-13-05.54.33.408343</RETTMS><TRANSFNK>AN</TRANSFNK><TRANSSEQ></TRANSSEQ><USERID>09919220</USERID><SEGMENTNAME>C55QN54</SEGMENTNAME><SEGMENTVERSION>0204</SEGMENTVERSION><FREMD_USERID></FREMD_USERID><DIALOGSPRACHE>01</DIALOGSPRACHE><PROG_VERSION>01</PROG_VERSION><XML_MARKUP_KZ>01</XML_MARKUP_KZ></HEADER>

ที่รับค่ามาจาก webservice ให้มันกลายเป็น string ที่ใช้ function substring เอาออกมาทีละตัว ซึ่งfunction substring มันอ่านค่าไม่ออกน่ะครับ จะต้องใช้ฟังก์ชันไหนช่วยเหรอครับ
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์ โดย mindphp »

วิธีที่ท่านกำลัง ทำ ที่พยายามไปเปลี่ยน ข้อมูล ที่รับมาจาก webservice มันไม่ถูกต้องครับ
ตามที่ยกเอาตัวอย่างให้ดู ที่กระทู้นั้นมีทั้ง แบบใช้ SimpleXML และ ไม่ได้ใช้ SimpleXML ไม่ทราบท่านได้ลองดูหรือยัง
สร้างไฟล์ pdf online
ท่องเที่ยว http://www.thailandhotelforums.com/" onclick="window.open(this.href);return false;
สอน php http://www.mindphp.com/" onclick="window.open(this.href);return false;
ตอบกลับโพส

ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 23 และ บุคคลทั่วไป 0 ท่าน