【发布时间】:2016-12-28 15:53:36
【问题描述】:
你好,谁能帮我在 PHP 中修改下面的 XML 文档。
这个问题的主要原因是我想将标签名称为Service 的虚拟 XML 节点附加到 EVent>>Body>>Services>>ServiceInstalls
下面是 XML 文档
<Event>
<Header>
<EventSource>TXT</EventSource>
</Header>
<Body>
<Services>
<CurrentServices>
<Service serviceID = "SS014">
<ServiceChangeActivity>NoChange</ServiceChangeActivity>
<TelephoneNumbers>
<TN></TN>
</TelephoneNumbers>
<Rate>0.00</Rate>
<Desc>Auto</Desc>
<Count>1</Count>
<LOB>XHS</LOB>
<PackageCode>Test</PackageCode>
<EPCServiceDef>
<EPCProduct pn = "10300029">
<Name>Auto</Name>
<LongDescription>Auto SERVICE</LongDescription>
<Type>Service</Type>
<LOB>Video</LOB>
</EPCProduct>
</EPCServiceDef>
<Type>S</Type>
<TypeClassification>S</TypeClassification>
<SubType>04</SubType>
<Status>C</Status>
<Provisionable>N</Provisionable>
<BillCode>Auto</BillCode>
<BillCodeDescription>Auto</BillCodeDescription>
<Outlet></Outlet>
<Port></Port>
<BeforeQuantity>1</BeforeQuantity>
<Quantity>1</Quantity>
<ConnectDate>2016-12-19</ConnectDate>
<CompleteIndicator>C</CompleteIndicator>
</Service>
<Service serviceID = "BA">
<ServiceChangeActivity>NoChange</ServiceChangeActivity>
<TelephoneNumbers>
<TN></TN>
</TelephoneNumbers>
<Rate>0.00</Rate>
<TXTServiceBilling>
<BeginDate>2016-12-19T00:00:00.000Z</BeginDate>
<Discount></Discount>
<DiscountDescription/>
<CustomerDiscount></CustomerDiscount>
<CustomerDiscountDescription/>
<DiscountGroup/>
<DiscountGroupBeginDate/>
<Charge>0.00</Charge>
<ChargeType>R</ChargeType>
<ChargeMethod></ChargeMethod>
<Hold/>
</TXTServiceBilling>
<Desc>Basic</Desc>
<Count>1</Count>
<LOB>Video</LOB>
<PackageCode>BA</PackageCode>
<EPCServiceDef>
<EPCProduct pn = "Auto">
<Name>Basic Video (B1)</Name>
<LongDescription>BASIC VIDEO</LongDescription>
<Type>Service</Type>
<LOB>Video</LOB>
</EPCProduct>
</EPCServiceDef>
<Type>S</Type>
<TypeClassification>S</TypeClassification>
<SubType>01</SubType>
<Status>C</Status>
<Provisionable>N</Provisionable>
<BillCode>BA</BillCode>
<BillCodeDescription>Basic</BillCodeDescription>
<Outlet></Outlet>
<Port></Port>
<BeforeQuantity>1</BeforeQuantity>
<Quantity>1</Quantity>
<ConnectDate>2016-12-19</ConnectDate>
<CompleteIndicator>C</CompleteIndicator>
<TXTServiceIdentifier>3</TXTServiceIdentifier>
</Service>
</CurrentServices>
<ServiceChanges>
<ServiceInstalls>
<Service serviceID = "SSSS">
<ServiceChangeActivity>Install</ServiceChangeActivity>
<Desc>SSSS</Desc>
<LOB>Other</LOB>
<TXTServiceIdentifier>4</TXTServiceIdentifier>
</Service>
</ServiceInstalls>
<ServiceDisconnects/>
</ServiceChanges>
</Services>
</Body>
</Event>
我已经尝试过这样的代码,但我得到了错误
$str 只是在 XML 之上
$result = simplexml_load_string($str);
$result = $result->xpath('/Event/Body/Services/ServiceChanges/ServiceInstalls');
$result = $result->addChild('Service','');
echo $result;
错误是
致命错误:在 C:\xampp\htdocs\xhe2e\info.php 中的数组上调用成员函数 addChild()第 107 行
和第 107 行是 $result = $result->addChild('Service','');
【问题讨论】:
-
显示您尝试过的内容。您是否阅读过任何相关的问题/答案,例如这个:stackoverflow.com/questions/31144422/… 或这个:stackoverflow.com/questions/40139917/…
-
@cale_b 我已经尝试更新了这个问题,你能帮我解决这个问题需要做些什么吗