有効なXML値ではないフィールドcontaingでの文字列解析についてのヘルプが本当に必要です。文字列フィールドに入力するターゲット値とともに現在の値を表示します。
この値を持つフィールド$xmlStringがあります(要素はSEPERATE行ではなく、SAME行にあります。これはWebサービスの応答であるため、後の解析でのみ応答に影響を与えません):
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<p:queryBillingAccountResponse xmlns:p="http://www.ibm.com">
<ns0:customerAccount xmlns:ns0=" http://www.ibm.com/2009">
<ComponentCustomerAccount>
<Name>ADSL 4</Name>
<CharacteristicValue>
<Characteristic>
<Name>Balance</Name>
</Characteristic>
<Value>0.0</Value>
</CharacteristicValue>
<AccountStatus>Paid</AccountStatus>
</ComponentCustomerAccount>
</ns0:customerAccount>
</p:queryBillingAccountResponse>
</soapenv:Body>
</soapenv:Envelope>
これが可能であれば、この出力が必要です。
<queryBillingAccountResponse>
<customerAccount>
<ComponentCustomerAccount>
<Name>ADSL 4</Name>
<CharacteristicValue>
<Characteristic>
<Name>Balance</Name>
</Characteristic>
<Value>0.0</Value>
</CharacteristicValue>
<CharacteristicValue>
<AccountStatus>Paid</AccountStatus>
</ComponentCustomerAccount>
</customerAccount>
</queryBillingAccountResponse>
したがって、最初の3行(実際には個別の行ではありませんが)と最後の2行がなく、とに名前空間が定義されていないことに気付くでしょqueryBilling AccountResponse
うcustomer Account
。名前空間のないこれらの要素を文字列フィールドに入れたいです。開始タグと終了タグの両方。私は本当にこの出力が必要です。これを解析する方法は?SimpleXMLElementを試してみましたが、解析できませんでした。ご協力ありがとうございました
$ xml = simplexml_load_string($ text);で解析できない更新された出力
<<<XML
<?xml version="1.0" encoding="utf-8"?>
<Envelope>
<Body>
<queryBillingAccountResponse>
<customerAccount>
<ComponentCustomerAccount>
<Name>ADSL 4</Name>
<CharacteristicValue>
<Characteristic>
<Name>Balance</Name>
</Characteristic>
<Value>0.0</Value>
</CharacteristicValue>
<AccountStatus>Paid</AccountStatus>
</ComponentCustomerAccount>
</customerAccount>
</queryBillingAccountResponse>
</Body>
</Envelope>
XML>