Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนด้วยครับ เดี่ยวกับปัญหาการ ลบ node ของ xml file ครับ



 

รบกวนด้วยครับ เดี่ยวกับปัญหาการ ลบ node ของ xml file ครับ

 



Topic : 081032



โพสกระทู้ ( 410 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



ผมลอง echo หลังลบ มันก็ โชวค์ว่าลบแล้วนะครับ แต่พอไปดูที่ file จริง ๆ ไม่ลบครับ

การ add ทำได้แล้วครับ

Code (PHP)
<?
	//config-------------------------------------
	$filename = "a.xml";
	
	$page = $_GET["page"];
	$workstationid = $_POST["workstationid"];
	$workstationgetid = $_GET["workstationgetid"];
	$workstationname = $_POST["workstationname"];
	$workstationip = $_POST["workstationip"];
	$workstationsfdcmode = $_POST["workstationsfdcmode"];
	$workstationport = $_POST["workstationport"];
	$workstationDC = $_POST["workstationDC"];
	//end config -------------------------------
	echo $workstationgetid;
	
	if($page=='add') {
		$checkname = 0;
		$xml = simplexml_load_file($filename);
		foreach($xml->children() as $node){
			$arr = $node->attributes();
			if ($arr['name']==$workstationname){		
				$checkname = 1;
			}
		}

		if ($checkname <> 1){
			$xml = simplexml_load_file($filename);
			$sxe = new SimpleXMLElement($xml->asXML());
			$workstation = $sxe->addChild("workstation"); 
			$workstation->addAttribute("name",$workstationname);
			$workstation->addChild("ip", $workstationip); 
			$workstation->addChild("sfdcmode", $workstationsfdcmode); 
			$workstation->addChild("port", $workstationport); 
			$workstation->addChild("dc", $workstationDC); 
			$sxe->asXML($filename); 
			echo "save Complete";	
		}
		
	}
	
	if ($page=='del' && $workstationgetid <> null){
	
		$file = $filename;
		$fp = fopen($file, "rb") or die("cannot open file");
		$str = fread($fp, filesize($file));
			   
		$xml = new DOMDocument();
		$xml->formatOutput = true;
		$xml->preserveWhiteSpace = false;
		$xml->loadXML($str) or die("Error");

		// original
		echo "<xmp>OLD:\n". $xml->saveXML() ."</xmp>";

		// get document element
		$root   = $xml->documentElement;
		$fnode  = $root;

		//get a node
		$ori    = $fnode->childNodes->item($workstationgetid);

		// remove
		$fnode->removeChild($ori);

		echo "<xmp>NEW:\n". $xml->saveXML() ."</xmp>";

		/*
		$file = $filename;
		$fp = fopen($file, "rb") or die("cannot open file");
		$str = fread($fp, filesize($file));   
		$xml = new DOMDocument();
		$xml->formatOutput = true;
		$xml->preserveWhiteSpace = false;
		$xml->loadXML($str) or die("Error");
		//$xml->saveXML()	;
		//$root   = $xml->documentElement;
		$fnode  = $xml->documentElement;
		$ori    = $fnode->childNodes->item("1");
		$fnode->removeChild($ori);
		$xml->saveXML();
		//$xml->asXML($filename);
		*/
		echo "Del Complete";
		
	}

?>
<html>
<head><title>Emulator Client Control</title></head>
<body>
<center>
<table border=1>
<tr>
	<th width="20"></th>
	<th width="20">No.</th>
	<th width="200">Name</th>
	<th width="120">IP</th>
	<th width="100">SFDC MODE</th>
	<th width="100">Port</th>
	<th width="100">DC</th>
</tr>

<?
$xml = simplexml_load_file($filename);
$i=0;
foreach($xml->children() as $node){
	$arr = $node->attributes();?>
	<tr>
		<td align="center"><a href="index.php?page=del&workstationgetid=<? echo $i; ?>">Del</a></td>
		<td align="center"><?echo $i+1;?></td>
		<td><? echo $arr['name']."<br>"; ?></td>
	
	<?
	foreach($xml->workstation[$i]->children() as $child)
	{
	?>
		<td align="center"><? echo $child; ?></td>	
	<?
	}
	?>	
	</tr>
<?
$i++;
?>
</tr>
<?
}?>
</table>
<form name="input" action="index.php" method="POST">
Workstation Name : <input type="text" name="workstationname" /><br>
Workstation IP : <input type="text" name="workstationip" value="192.168.1." /><br>
Workstation SFDC Mode : <input type="text" name="workstationsfdcmode" value="SFDC3"/><br>
Workstation Port : <input type="text" name="workstationport" value="18000"/><br>
Workstation DC : <input type="text" name="workstationDC" />
<br>
<input type="submit" value="add" name="page" />

</form>
</center>
</body>
</html>


XML File
<?xml version="1.0"?>
<workstations>
  <workstation name="Demo A">
  <ip>192.168.1.2</ip>
  <sfdcmode>SFDC3</sfdcmode>
  <port>18000</port>
  <dc>191</dc>
  </workstation>
  
  <workstation name="Demo B">
  <ip>192.168.1.224</ip>
  <sfdcmode>SFDC3</sfdcmode>
  <port>18000</port>
  <dc>191</dc>
  </workstation>
</workstations>





Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-07-13 15:43:05 By : zero1150kfc View : 1184 Reply : 1
 

 

No. 1



โพสกระทู้ ( 410 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอนนี้ได้แล้วนะครับ ต้องเพิ่มอีก 1 บรรทัด
Code (PHP)
$xml->saveXML();
		$xml->save('a.xml');







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-13 17:35:15 By : zero1150kfc
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนด้วยครับ เดี่ยวกับปัญหาการ ลบ node ของ xml file ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่