次の XML があり、配列のデータを入力する必要があります。問題は、「連絡先」という名前のノードが 3 つあるが、それぞれに異なる属性があることです。Xpathを使用してみましたが、エラーが発生し続けて機能させることができませんでした。おそらく構文エラーだと思います。
xmlのサンプル
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
domain-1.0.xsd">
<domain:name>0000</domain:name>
<domain:period unit="y">2</domain:period>
<domain:ns>
<domain:hostObj>0000</domain:hostObj>
</domain:ns>
<domain:registrant>0000</domain:registrant>
<domain:contact type="tech">000</domain:contact>
<domain:contact type="admin">000</domain:contact>
<domain:contact type="billing">000</domain:contact>
<domain:authInfo>
<domain:pw>000</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<clTRID>ABC:ics-forth:1079691187887</clTRID>
</command>
</epp>
そして私のコードの下に
$p2xml = new SimpleXmlElement($p2xmlf);
foreach ($p2xml->command->create as $entry2)
{
$namespaces = $entry2->getNameSpaces(true);
$dc = $entry2->children($namespaces['domain']);
$dc->create->name = $domain_fields['name'];
$dc->create->ns->hostObj = $domain_fields['ns1'];
$dc->create->ns->hostObj = $domain_fields['ns2'];
$dc->create->registrant = $domain_fields['registrant'];
$dc->create->contact = $domain_fields['contact']; <-- problem here
$dc->create->contact = $domain_fields['contact']; <-- problem here
$dc->create->contact = $domain_fields['contact']; <-- problem here
$dc->create->authInfo->pw = $domain_fields['pw'];
$oxml = $p2xml->asXML();
連絡先を //contact[@type=['tech'] などに置き換えようとしましたが、行き詰まりました