導航:首頁 > 編程語言 > phpxmltostring

phpxmltostring

發布時間:2023-03-27 17:34:44

php怎麼解析微信支付結果返回的xml

php解析xml報文的方法是DOMDocument:
解析方法如下:

$xmlstring = <<<XML
<?xml version='1.0'?>
<document>
<cmd attr='default'>login</cmd>
<login>imdonkey</login>
</document>
XML;

$dom = new DOMDocument();
$dom->loadXML($xmlstring);
print_r(getArray($dom->documentElement));

function getArray($node) {
$array = false;

if ($node->hasAttributes()) {
foreach ($node->attributes as $attr) {
$array[$attr->nodeName] = $attr->nodeValue;
}
}

if ($node->hasChildNodes()) {
if ($node->childNodes->length == 1) {
$array[$node->firstChild->nodeName] = getArray($node->firstChild);
} else {
foreach ($node->childNodes as $childNode) {
if ($childNode->nodeType != XML_TEXT_NODE) {
$array[$childNode->nodeName][] = getArray($childNode);
}
}
}
} else {
return $node->nodeValue;
}
return $array;
}

Ⅱ php輸出xml內容

PHP生成XML的方法很多,這里演示最基本,最簡單的字元串構造法。就是使用字元串構造或者拼接成xml數據格式,然後輸出或者生成xml文件。

<?php
$data=array(
array(
'title'=>'',
'country'=>'china',
'name'=>'網路',
),
array(
'title'=>'google',
'country'=>'usa',
'name'=>'谷歌',
)
);

//構造xml數據格式
$xml="<?xmlversion="1.0"encoding="utf-8"?> ";
$xml.="<data> ";
foreach($dataas$itm){
//循環構造xml單項
$item="<item> ";
$item.="<title>".$itm['title']."</title> ";
$item.="<country>".$itm['country']."</country> ";
$item.="<name>".$itm['name']."</name> ";
$item.="</item> ";
$xml.=$item;
}

$xml.="</data> ";

//輸出xml數據
echo$xml;

?>

生成的數據格式如下:

Ⅲ 如何在PHP中使用socket+XML發送數據包

接收指定IP的數據包,其他IP都要過濾吧,那就用防火牆來搞吧
使用的是client段的獲取方式,用client的可以指定IP,代碼大概如下

public void SendMessage()

{

ASCII = Encoding.ASCII;

// 構造用於發送的 位元組緩沖.

Byte[] sendBytes = ASCII.GetBytes(SEND_MESSAGE);

// 構造用於接收的 位元組緩沖.

Byte[] recvBytes = new Byte[256];

// IP地址.

IPAddress localAddr = IPAddress.Parse("192.168.19.81");

// 接入點.

IPEndPoint ephost = new IPEndPoint(localAddr, PORT);

// 第一個參數:AddressFamily = 指定 Socket 類的實例可以使用的定址方案。

// Unspecified 未指定地址族。

// InterNetwork IP 版本 4 的地址。

// InterNetworkV6 IP 版本 6 的地址。

//

// 第二個參數:SocketType = 指定 Socket 類的實例表示的套接字類型。

// Stream 一個套接字類型,支持可靠、雙向、基於連接的位元組流,而不重復數據,也不保留邊界。

// 此類型的 Socket 與單個對方主機通信,並且在通信開始之前需要建立遠程主機連接。

// 此套接字類型使用傳輸控制協議 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6。

//

// 第三個參數:ProtocolType = 指定 Socket 類支持的協議。

// Tcp 傳輸控制協議 (TCP)。

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

try

{

// 嘗試連接主機.

s.Connect(ephost);

//Console.WriteLine("向伺服器發送到了:{0}", SEND_MESSAGE);

// 向主機發送數據.

// s.Send(sendBytes, sendBytes.Length, SocketFlags.None);

// 接收伺服器的應答.

Int32 bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);

StringBuilder buff = new StringBuilder();

// while (bytes > 0)

// {

// 將緩沖的位元組數組,裝換為字元串.

// String str = ASCII.GetString(recvBytes, 0, bytes);

String str = "";

for (int i = 0; i < recvBytes.Length; i++)

{

str = str + recvBytes[i];

}

int iCount = 0;

iCount = int.Parse(str.Substring(13, 6)) ;

// 加入字元串緩存

buff.Append(str);

// 再次接受,看看後面還有沒有數據.

//bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);

// }

textBox1.Text = iCount.ToString();

}

catch (Exception ex)

{

MessageBox.Show("連接/發送/接收過程中,發生了錯誤!");

MessageBox.Show(ex.Message);

//Console.WriteLine("連接/發送/接收過程中,發生了錯誤!");

//Console.WriteLine(ex.Message);

//Console.WriteLine(ex.StackTrace);

}

finally

{

s.Close();

}

Ⅳ php把xml轉換為字元串

樓主我教你吧,首先xml文件里的內容為

<?xmlversion="1.0"encoding="ISO-8859-1"?>
<content
<name>lishi</name>
<age>17</age>
</content>

讀取xml文件內容

$str=file_get_contents($xml);$xml為xml文件路徑地址


將讀取的字元串內容轉化為xml對象

$obj=simplexml_load_string($str)


操作對象里的數據

$obj->name="lishi111";

$obj->age=77;


拼接新的字元串

$strNew="<?xml version='1.0' encoding='ISO-8859-1'?>";

$str.="<content><name>".$obj->name."</name";

$str.="<age>".$obj->age."</age></content>";


將新的字元串寫入xml文件

file_put_content($xml,$strNew);


最後一步拿分來吧,哈哈哈哈。有問題繼續。。。

Ⅳ php將XML轉換成字元串!

$str = $xml->asXML();

$str就是你要的字元串

Ⅵ php 如何解析xml格式字元串

//假設xml字元串
$postStr = '<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[FromUser]]></FromUserName><CreateTime>123456789</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[p1]]></Content></xml>';
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
var_mp($postObj);

/**
object(SimpleXMLElement)[16] public 'ToUserName' => string 'toUser' (length=6) public 'FromUserName' => string 'FromUser' (length=8) public 'CreateTime' => string '123456789' (length=9) public 'MsgType' => string 'text' (length=4) public 'Content' => string 'p1' (length=2)
*/
//把xml字元串解析為對象

閱讀全文

與phpxmltostring相關的資料

熱點內容
excel表格單列數據加密 瀏覽:644
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249
Android怎麼優化內存 瀏覽:106
linuxetcsysconfig 瀏覽:396