Я здесь полностью застрял.
У меня простая структура xml в PHP
<InvoiceLines>
<InvoiceLine>
<SalesInvoiceProductLine>
<ProductIdentifier type="customer">4867895346</ProductIdentifier>
<ProductName>a name</ProductName>
<ProductUnitPrice type="net">75</ProductUnitPrice>
<ProductVatPercentage vatcode="KOMY">24</ProductVatPercentage>
<SalesInvoiceProductLineQuantity>1</SalesInvoiceProductLineQuantity>
<Dimension>
<DimensionName>Kustannuspaikka</DimensionName>
<DimensionItem>110 Tukkukauppa kotimaa</DimensionItem>
</Dimension>
</SalesInvoiceProductLine>
</InvoiceLine>
<InvoiceLine>
<SalesInvoiceProductLine>
<ProductIdentifier type="customer">1345573456</ProductIdentifier>
<ProductName>name</ProductName>
<ProductUnitPrice type="net">31</ProductUnitPrice>
<ProductVatPercentage vatcode="KOMY">24</ProductVatPercentage>
<SalesInvoiceProductLineQuantity>1</SalesInvoiceProductLineQuantity>
<Dimension>
<DimensionName>Kustannuspaikka</DimensionName>
<DimensionItem>150</DimensionItem>
</Dimension>
</SalesInvoiceProductLine>
</InvoiceLine>
<InvoiceLine>
<SalesInvoiceProductLine>
<ProductIdentifier type="customer">Shipping_cost</ProductIdentifier>
<ProductName>Shipping</ProductName>
<ProductUnitPrice type="net">0</ProductUnitPrice>
<ProductVatPercentage vatcode="KOMY">24</ProductVatPercentage>
<SalesInvoiceProductLineQuantity>1</SalesInvoiceProductLineQuantity>
<SalesInvoiceProductLineDiscountPercentage>0</SalesInvoiceProductLineDiscountPercentage>
</SalesInvoiceProductLine>
</InvoiceLine>
Мне нужно удалить InvoiceLine с помощью Стоимость доставки. Я много пробовал (просто посчитав все это, удалите последние, разные подходы с помощью xPath et c.)
Мой код на данный момент
//remove shipping lines, always 0 and not needed
foreach ($base->SalesInvoice->InvoiceLines->InvoiceLine as $key => $invoiceline) {
if ($invoiceline->SalesInvoiceProductLine->ProductIdentifier == "Shipping_cost") {
echo "shipping cost FOUND \n";
echo "\n";
var_dump($key);
echo "\n";
unset($base->SalesInvoice->InvoiceLines->InvoiceLine[$key]);
}
}
Я не могу обдумай это. Он находит стоимость доставки, но не может заставить работать расстановку. Переменная $ key содержит только строку (11) «InvoiceLine». Я перепробовал еще много подходов, но ни один из них не нашел нужного элемента.
Если есть какая-либо информация, пожалуйста, дайте мне знать!