0
私の質問に答えがたくさんあります Parse XML namespaces with php SimpleXML私の場合は値を読み取るようにコードを調整する方法を理解できませんか?私は、名前空間メートルを持っている:php SimpleXMLを使用してXMLを複数の名前空間で解析する
$xml = simplexml_load_string($res, NULL, NULL, "http://schemas.xmlsoap.org/soap/envelope/");
$xml->registerXPathNamespace('soap', 'http://schemas.xmlsoap.org/soap/envelope/');
$xml->registerXPathNamespace('m', 'http://www.w3.org/2001/XMLSchema');
foreach($xml->xpath('//m:SaveDocumentsResponse') as $header)
{
var_export($header->xpath('//m:return')); // Should output 'something'.
}
を試してみました私は、このXMLを解析し、のみも888から0000019749
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<m:SaveDocumentsResponse xmlns:m="http://www.cargo3.ru">
<m:return xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Key>SaveDocuments</m:Key>
<m:List>
<m:Key>Order</m:Key>
<m:Properties>
<m:Key>Number</m:Key>
<m:Value xsi:type="xs:string">888-0000019749</m:Value>
<m:ValueType>string</m:ValueType>
</m:Properties>
<m:Properties>
<m:Key>CreateDate</m:Key>
<m:Value xsi:type="xs:dateTime">2016-05-23T20:56:50</m:Value>
<m:ValueType>dateTime</m:ValueType>
</m:Properties>
</m:List>
</m:return>
</m:SaveDocumentsResponse>
</soap:Body>
</soap:Envelope>
値を抽出する必要が は parse an XML with SimpleXML which has multiple namespaces この例を動作するように管理することはできません:名前空間石鹸の内側
は再び私は何かが欠けている...
と再び
を3210私はあなたのXMLデータに応じた適切な名前空間URIに接頭辞をマップする必要が
<m:Value xsi:type="xs:dateTime">2016-05-23T20:56:50</m:Value>
こんにちは、私はしないでくださいそのためにSimpleXmlについてよく知っている。私はDomDocumentの使い方を知っています – Richard
こんにちは!どんな方法でも私にはいくつかの経験がもたらされます。どんな実際の例も歓迎されています.. – vyazikov
以下の例を確認してください。http://php.net/manual/en/domxpath.registernamespace.php – Richard