Это то, что у меня есть до сих пор, но я получаю ошибку "The node to be inserted is from a different document context."
. Есть идеи?Импортировать узел в другой XML-документ
$xml = [xml](Get-Content "C:\IT\HowardCo\Compare\New.xml")
$xmld = [xml](Get-Content "C:\IT\HowardCo\Compare\ConfigExport.xml")
$newNode = $xml.ImportNode($xmld.SelectSingleNode("//SaleItem[SaleItemId=2]"), $true)
$xmld.DocumentElement.AppendChild($newnode)
$xml.Save("C:\IT\HowardCo\Compare\New.xml")
Это XML, с которого я пытаюсь получить информацию. Его список предметов организован SaleItemID
Im пытается захватить товар и Price1
под RevenueCenter
. Любая помощь с этим будет потрясающей.
<ConfigExport>
<SaleItems>
<SaleItem>
<SaleItemId>2</SaleItemId>
<AltItemId>0</AltItemId>
<Description>*Torta Ahogada Combo</Description>
<Description2/>
<Division>2</Division>
<Available>1</Available>
<BarCode/>
<Plu Id="0"/>
<Function Id="0">Revenue</Function>
<RevenueCenter Id="1" Name="La Cocina">
<Price1>6.49</Price1>
<Price2>6.49</Price2>
<ItemAvailabilityByMode>
<Mode Id="1" Name="Here">
<Available>1</Available>
</Mode>
<Mode Id="2" Name="To Go">
<Available>1</Available>
</Mode>
</ItemAvailabilityByMode>
</RevenueCenter>
</SaleItem>
</SaleItems>
</ConfigExport>
Я представил изменение для вашего сломанного XML-примера. У вас был висит открытый второй SaleItem и не закрывал SalesItems или ConfigExport. –
Кроме того, было бы полезно, если бы вы отправили образец своего исходного контента для new.xml –
@MatthewWetmore Эй, причина, по которой Saleitem оставлена открытой, - это потому, что после нее появилось много больше продаж. XML довольно большой. Кроме того, New.xml будет просто пустым документом, пока он не скопирует определенный идентификатор SaleitemID. Спасибо! –