Xml保存更改(帮助!) [英] Xml save changes (Help!)
问题描述
这是xml im试图保存更改的示例,其他具有相同结构但条目不同的文件.
<?xml version ="1.0" encoding ="UTF-8"? < CHandlingDataMgr> < HandlingData> <项目类型="CHandlingData"> < handlingName> AIRTUG</handlingName> < fMass value ="1400.000000"; /> < fInitialDragCoeff value ="30.000000"; /> < fPercentSubmerged value ="85.000000"; /> < vecCentreOfMassOffset x ="0.000000" y ="0.000000". z ="0.000000"; /> < vecInertiaMultiplier x ="1.000000"; y ="1.000000". z ="1.000000". /> < fDriveBiasFront值="1.000000"; /> < nInitialDriveGears值="1" /> < fInitialDriveForce value ="0.060000&"; /> < fDriveInertia value ="1.000000"; /> < fClutchChangeRateScaleUpShift value ="1.300000"; /> < fClutchChangeRateScaleDownShift value ="1.300000"; /> < fInitialDriveMaxFlatVel value ="40.000000"; /> < fBrakeForce value ="0.300000"; /> < fBrakeBiasFront value ="0.450000&"; /> < fHandBrakeForce value ="0.350000&"; /> < fSteeringLock value ="30.000000"; /> < fTractionCurveMax value ="1.150000&"; /> < fTractionCurveMin value ="0.950000&"; /> < fTractionCurveLateral value ="11.000000"; /> < fTractionSpringDeltaMax value ="0.100000"; /> < fLowSpeedTractionLossMult value ="0.000000" /> < fCamberStiffnesss value ="0.000000" /> < fTractionBiasFront value ="0.450000&"; /> < fTractionLossMult value ="1.000000"; /> < fSuspensionForce value ="4.000000"; /> < fSuspensionCompDamp value ="1.500000"; /> < fSuspensionReboundDamp value ="1.500000"; /> < fSuspensionUpperLimit value ="0.100000"; /> < fSuspensionLowerLimit value =-0.100000"; /> < fSuspensionRaise value ="0.000000" /> < fSuspensionBiasFront值="0.500000"; /> < fAntiRollBarForce value ="0.000000" /> < fAntiRollBarBiasFront值="0.000000" /> < fRollCentreHeightFront value ="0.200000"; /> < fRollCentreHeightRear value ="0.200000"; /> < fCollisionDamageMult value ="1.000000"; /> < fWeaponDamageMult value ="1.000000"; /> < fDeformationDamageMult value ="0.800000"; /> < fEngineDamageMult value ="1.500000"; /> < fPetrolTankVolume value ="0.000000" /> < fOilVolume value ="0.000000" /> < fSeatOffsetDistX value ="0.000000" /> < fSeatOffsetDistY value ="0.000000" /> < fSeatOffsetDistZ value ="0.000000" /> < nMonetaryValue value ="15000&"; /> < strModelFlags> 440000</strModelFlags> < strHandlingFlags> 1000</strHandlingFlags> < strDamageFlags> 20< strDamageFlags> < AIHandling>卡车</AIHandling> < SubHandlingData> <项目类型="NULL" /> <项目类型="NULL" /> <项目类型="NULL" /> </SubHandlingData> </Item> <项目类型="CHandlingData"> < handlingName> ADDER</handlingName> < fMass value ="1800.000000"; /> < fInitialDragCoeff value ="7.800000"; /> < fPercentSubmerged value ="85.000000"; /> < vecCentreOfMassOffset x ="0.000000" y ="0.000000". z ="0.000000"; /> < vecInertiaMultiplier x ="1.000000"; y ="1.300000". z ="1.500000"; /> < fDriveBiasFront值="0.200000"; /> < nInitialDriveGears value ="6". /> < fInitialDriveForce value ="0.320000&"; /> < fDriveInertia value ="1.000000"; /> < fClutchChangeRateScaleUpShift value ="3.000000"; /> < fClutchChangeRateScaleDownShift value ="3.000000"; /> < fInitialDriveMaxFlatVel value ="160.000000"; /> < fBrakeForce value ="1.000000"; /> < fBrakeBiasFront value ="0.450000&"; /> < fHandBrakeForce value ="0.700000"; /> < fSteeringLock value ="42.000000"; /> < fTractionCurveMax value ="2.500000"; /> < fTractionCurveMin value ="2.380000&"; /> < fTractionCurveLateral value ="22.500000"; /> < fTractionSpringDeltaMax value ="0.150000"; /> < fLowSpeedTractionLossMult value ="1.500000"; /> < fCamberStiffnesss value ="0.000000" /> < fTractionBiasFront值="0.485000". /> < fTractionLossMult value ="1.000000"; /> < fSuspensionForce value ="2.400000"; /> < fSuspensionCompDamp value ="1.400000"; /> < fSuspensionReboundDamp value ="2.100000"; /> < fSuspensionUpperLimit value ="0.120000&"; /> < fSuspensionLowerLimit value =-0.100000"; /> < fSuspensionRaise value ="0.000000" /> < fSuspensionBiasFront值="0.500000"; /> < fAntiRollBarForce value ="0.900000"; /> < fAntiRollBarBiasFront值="0.600000"; /> < fRollCentreHeightFront value ="0.410000"; /> < fRollCentreHeightRear value ="0.410000"; /> < fCollisionDamageMult value ="0.700000"; /> < fWeaponDamageMult value ="1.000000"; /> < fDeformationDamageMult value ="0.700000"; /> < fEngineDamageMult value ="1.500000"; /> < fPetrolTankVolume value ="65.000000"; /> < fOilVolume value ="5.000000"; /> < fSeatOffsetDistX value ="0.000000" /> < fSeatOffsetDistY value ="0.000000" /> < fSeatOffsetDistZ value ="0.000000" /> < nMonetaryValue value ="80000&"; /> < strModelFlags> 440010</strModelFlags> < strHandlingFlags> 0</strHandlingFlags> < strDamageFlags> 0</strDamageFlags> < AIHandling>平均</AIHandling> < SubHandlingData> <项目类型="CCarHandlingData"> < fBackEndPopUpCarImpulseMult value ="0.075000"; /> < fBackEndPopUpBuildingImpulseMult value ="0.030000&"; /> < fBackEndPopUpMaxDeltaSpeed value ="0.250000"; /> </Item> <项目类型="NULL" /> <项目类型="NULL" /> </SubHandlingData> </Item> <项目类型="CHandlingData"> < handlingName> AIRBUS</handlingName> < fMass value ="9000.000000"; /> < fInitialDragCoeff value ="10.000000"; /> < fPercentSubmerged value ="85.000000"; /> < vecCentreOfMassOffset x ="0.000000" y ="0.000000". z ="0.000000"; /> < vecInertiaMultiplier x ="1.600000"; y ="2.000000". z ="2.400000"; /> < fDriveBiasFront值="0.500000"; /> < nInitialDriveGears值="4" /> < fInitialDriveForce value ="0.120000&"; /> < fDriveInertia value ="0.500000"; /> < fClutchChangeRateScaleUpShift value ="1.000000"; /> < fClutchChangeRateScaleDownShift value ="1.000000"; /> < fInitialDriveMaxFlatVel value ="100.000000"; /> < fBrakeForce value ="0.250000". /> < fBrakeBiasFront value ="0.650000&"; /> < fHandBrakeForce value ="0.450000&"; /> < fSteeringLock value ="35.000000"; /> < fTractionCurveMax value ="1.450000&"; /> < fTractionCurveMin value ="1.350000&"; /> < fTractionCurveLateral value ="15.000000"; /> < fTractionSpringDeltaMax value ="0.130000&"; /> < fLowSpeedTractionLossMult value ="0.000000" /> < fCamberStiffnesss value ="0.000000" /> < fTractionBiasFront值="0.475000". /> < fTractionLossMult value ="0.900000"; /> < fSuspensionForce value ="2.000000"; /> < fSuspensionCompDamp value ="0.900000"; /> < fSuspensionReboundDamp value ="1.800000"; /> < fSuspensionUpperLimit value ="0.100000"; /> < fSuspensionLowerLimit value =-0.180000&"; /> < fSuspensionRaise value ="0.000000" /> < fSuspensionBiasFront value ="0.450000&"; /> < fAntiRollBarForce value ="0.000000" /> < fAntiRollBarBiasFront值="0.000000" /> < fRollCentreHeightFront value ="0.400000"; /> < fRollCentreHeightRear value ="0.400000"; /> < fCollisionDamageMult value ="1.000000"; /> < fWeaponDamageMult value ="1.000000"; /> < fDeformationDamageMult value ="0.800000"; /> < fEngineDamageMult value ="1.500000"; /> < fPetrolTankVolume value ="120.000000"; /> < fOilVolume value ="8.000000"; /> < fSeatOffsetDistX value ="0.000000" /> < fSeatOffsetDistY value ="0.000000" /> < fSeatOffsetDistZ value ="0.000000" /> < nMonetaryValue value ="25000&"; /> < strModelFlags> 20840018</strModelFlags> < strHandlingFlags> 0</strHandlingFlags> < strDamageFlags> 20< strDamageFlags> < AIHandling>卡车</AIHandling> < SubHandlingData> <项目类型="NULL" /> <项目类型="NULL" /> <项目类型="NULL" /> </SubHandlingData> </Item> <项目类型="CHandlingData"> < handlingName> AMBULAN</handlingName> < fMass value ="2500.000000"; /> < fInitialDragCoeff value ="6.000000"; /> < fPercentSubmerged value ="80.000000"; /> < vecCentreOfMassOffset x ="0.000000" y ="0.000000". z ="0.000000"; /> < vecInertiaMultiplier x ="1.000000"; y ="1.000000". z ="1.300000"; /> < fDriveBiasFront值="0.500000"; /> < nInitialDriveGears值="5" /> < fInitialDriveForce value ="0.180000&"; /> < fDriveInertia value ="1.000000"; /> < fClutchChangeRateScaleUpShift value ="1.300000"; /> < fClutchChangeRateScaleDownShift value ="1.300000"; /> < fInitialDriveMaxFlatVel value ="140.000000"; /> < fBrakeForce value ="0.600000"; /> < fBrakeBiasFront value ="0.650000&"; /> < fHandBrakeForce value ="0.400000"; /> < fSteeringLock value ="35.000000"; /> < fTractionCurveMax value ="1.950000&"; /> < fTractionCurveMin值="1.700000"; /> < fTractionCurveLateral value ="20.000000"; /> < fTractionSpringDeltaMax value ="0.150000"; /> < fLowSpeedTractionLossMult value ="0.500000"; /> < fCamberStiffnesss value ="0.000000" /> < fTractionBiasFront值="0.485000". /> < fTractionLossMult value ="1.000000"; /> < fSuspensionForce value ="1.400000"; /> < fSuspensionCompDamp value ="0.900000"; /> < fSuspensionReboundDamp value ="1.300000"; /> < fSuspensionUpperLimit value ="0.200000"; /> < fSuspensionLowerLimit value =-0.250000"; /> < fSuspensionRaise value ="0.000000" /> < fSuspensionBiasFront值="0.500000"; /> < fAntiRollBarForce value ="0.650000&"; /> < fAntiRollBarBiasFront值="0.510000"; /> < fRollCentreHeightFront value ="0.300000"; /> < fRollCentreHeightRear value ="0.300000"; /> < fCollisionDamageMult value ="1.000000"; /> < fWeaponDamageMult value ="1.000000"; /> < fDeformationDamageMult value ="0.800000"; /> < fEngineDamageMult value ="1.500000"; /> < fPetrolTankVolume value ="70.000000"; /> < fOilVolume value ="8.000000"; /> < fSeatOffsetDistX value ="0.000000" /> < fSeatOffsetDistY value ="0.000000" /> < fSeatOffsetDistZ value ="0.000000" /> < nMonetaryValue value ="40000&"; /> < strModelFlags> 440018</strModelFlags> < strHandlingFlags> 0</strHandlingFlags> < strDamageFlags> 0</strDamageFlags> < AIHandling>平均</AIHandling> < SubHandlingData> <项目类型="NULL" /> <项目类型="NULL" /> <项目类型="NULL" /> </SubHandlingData> </Item> </HandlingData> </CHandlingDataMgr>
这是我用来保存更改的代码.
私有子SaveFile(ByVal FileLocation作为字符串,ByVal SelectedVehicle作为Vehicle) Dim Handling_Xml作为新的XmlDocument() Handling_Xml.Load(FileLocation) XmlNode = Dim VNode = Handling_Xml.SelectSingleNode(String.Format("//CHandlingDataMgr/HandlingData/Item/handlingName",SelectedVehicle.VID)) 如果VNode一无所有 MsgBox("XmlNode等于无!") 别的 VNode.InnerText = tbhandlingName.Text Handling_Xml.Save(FileLocation) 重新显示(FileLocation) 万一 结束
我计划遍历item节点内的所有节点,并使用新的字符串更新它们,但我似乎只能对第一个item节点和仅processingName节点执行此操作.我还需要更改属性.同样"SelectedVehicle.VID"也称为"SelectedVehicle.VID".
是包含项目节点号的整数.谁能帮我吗?我已经在互联网上搜索了几天,但找不到任何对我有帮助的东西.我已经注意到了
SelectSingleNode
选择出现的第一个匹配项,但我想选择第二个或第三个匹配项作为示例,并在不影响其他匹配项的情况下进行更改.
SelectedVehicle.VID
包含它已经发生的数字.
私有子SaveFile(ByVal FileLocation作为字符串,ByVal SelectedVehicle作为Vehicle) SetNode(FileLocation,SelectedVehicle,"//CHandlingDataMgr/HandlingData/Item/handlingName",tbhandlingName.Text,False,无) SetNode(FileLocation,SelectedVehicle,"//CHandlingDataMgr/HandlingData/Item/fMass",tbfMass.Text,True,0) 重新显示(FileLocation) 结束子 私有子SetNode(ByVal FileLocation作为字符串,ByVal SelectedVehicle作为车辆,ByVal Vstring作为字符串,ByVal NewInnerText作为字符串,ByVal AttSet作为布尔值,ByVal Att作为整数) Dim Handling_Xml作为新的XmlDocument() Handling_Xml.Load(FileLocation) 暗VNode为XmlNodeList = Handling_Xml.SelectNodes(String.Format(Vstring)) 如果AttSet = False,则 VNode.Item(SelectedVehicle.VID).InnerText = NewInnerText ElseIf AttSet = True则 VNode.Item(SelectedVehicle.VID).Attributes(Att).InnerText = NewInnerText 万一 Handling_Xml.Save(FileLocation) 结束
>
This is an example of xml im trying to save changes to, there are other files with the same structure but different entries.
<?xml version="1.0" encoding="UTF-8"?> <CHandlingDataMgr> <HandlingData> <Item type="CHandlingData"> <handlingName>AIRTUG</handlingName> <fMass value="1400.000000" /> <fInitialDragCoeff value="30.000000" /> <fPercentSubmerged value="85.000000" /> <vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" /> <vecInertiaMultiplier x="1.000000" y="1.000000" z="1.000000" /> <fDriveBiasFront value="1.000000" /> <nInitialDriveGears value="1" /> <fInitialDriveForce value="0.060000" /> <fDriveInertia value="1.000000" /> <fClutchChangeRateScaleUpShift value="1.300000" /> <fClutchChangeRateScaleDownShift value="1.300000" /> <fInitialDriveMaxFlatVel value="40.000000" /> <fBrakeForce value="0.300000" /> <fBrakeBiasFront value="0.450000" /> <fHandBrakeForce value="0.350000" /> <fSteeringLock value="30.000000" /> <fTractionCurveMax value="1.150000" /> <fTractionCurveMin value="0.950000" /> <fTractionCurveLateral value="11.000000" /> <fTractionSpringDeltaMax value="0.100000" /> <fLowSpeedTractionLossMult value="0.000000" /> <fCamberStiffnesss value="0.000000" /> <fTractionBiasFront value="0.450000" /> <fTractionLossMult value="1.000000" /> <fSuspensionForce value="4.000000" /> <fSuspensionCompDamp value="1.500000" /> <fSuspensionReboundDamp value="1.500000" /> <fSuspensionUpperLimit value="0.100000" /> <fSuspensionLowerLimit value="-0.100000" /> <fSuspensionRaise value="0.000000" /> <fSuspensionBiasFront value="0.500000" /> <fAntiRollBarForce value="0.000000" /> <fAntiRollBarBiasFront value="0.000000" /> <fRollCentreHeightFront value="0.200000" /> <fRollCentreHeightRear value="0.200000" /> <fCollisionDamageMult value="1.000000" /> <fWeaponDamageMult value="1.000000" /> <fDeformationDamageMult value="0.800000" /> <fEngineDamageMult value="1.500000" /> <fPetrolTankVolume value="0.000000" /> <fOilVolume value="0.000000" /> <fSeatOffsetDistX value="0.000000" /> <fSeatOffsetDistY value="0.000000" /> <fSeatOffsetDistZ value="0.000000" /> <nMonetaryValue value="15000" /> <strModelFlags>440000</strModelFlags> <strHandlingFlags>1000</strHandlingFlags> <strDamageFlags>20</strDamageFlags> <AIHandling>TRUCK</AIHandling> <SubHandlingData> <Item type="NULL" /> <Item type="NULL" /> <Item type="NULL" /> </SubHandlingData> </Item> <Item type="CHandlingData"> <handlingName>ADDER</handlingName> <fMass value="1800.000000" /> <fInitialDragCoeff value="7.800000" /> <fPercentSubmerged value="85.000000" /> <vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" /> <vecInertiaMultiplier x="1.000000" y="1.300000" z="1.500000" /> <fDriveBiasFront value="0.200000" /> <nInitialDriveGears value="6" /> <fInitialDriveForce value="0.320000" /> <fDriveInertia value="1.000000" /> <fClutchChangeRateScaleUpShift value="3.000000" /> <fClutchChangeRateScaleDownShift value="3.000000" /> <fInitialDriveMaxFlatVel value="160.000000" /> <fBrakeForce value="1.000000" /> <fBrakeBiasFront value="0.450000" /> <fHandBrakeForce value="0.700000" /> <fSteeringLock value="42.000000" /> <fTractionCurveMax value="2.500000" /> <fTractionCurveMin value="2.380000" /> <fTractionCurveLateral value="22.500000" /> <fTractionSpringDeltaMax value="0.150000" /> <fLowSpeedTractionLossMult value="1.500000" /> <fCamberStiffnesss value="0.000000" /> <fTractionBiasFront value="0.485000" /> <fTractionLossMult value="1.000000" /> <fSuspensionForce value="2.400000" /> <fSuspensionCompDamp value="1.400000" /> <fSuspensionReboundDamp value="2.100000" /> <fSuspensionUpperLimit value="0.120000" /> <fSuspensionLowerLimit value="-0.100000" /> <fSuspensionRaise value="0.000000" /> <fSuspensionBiasFront value="0.500000" /> <fAntiRollBarForce value="0.900000" /> <fAntiRollBarBiasFront value="0.600000" /> <fRollCentreHeightFront value="0.410000" /> <fRollCentreHeightRear value="0.410000" /> <fCollisionDamageMult value="0.700000" /> <fWeaponDamageMult value="1.000000" /> <fDeformationDamageMult value="0.700000" /> <fEngineDamageMult value="1.500000" /> <fPetrolTankVolume value="65.000000" /> <fOilVolume value="5.000000" /> <fSeatOffsetDistX value="0.000000" /> <fSeatOffsetDistY value="0.000000" /> <fSeatOffsetDistZ value="0.000000" /> <nMonetaryValue value="80000" /> <strModelFlags>440010</strModelFlags> <strHandlingFlags>0</strHandlingFlags> <strDamageFlags>0</strDamageFlags> <AIHandling>AVERAGE</AIHandling> <SubHandlingData> <Item type="CCarHandlingData"> <fBackEndPopUpCarImpulseMult value="0.075000" /> <fBackEndPopUpBuildingImpulseMult value="0.030000" /> <fBackEndPopUpMaxDeltaSpeed value="0.250000" /> </Item> <Item type="NULL" /> <Item type="NULL" /> </SubHandlingData> </Item> <Item type="CHandlingData"> <handlingName>AIRBUS</handlingName> <fMass value="9000.000000" /> <fInitialDragCoeff value="10.000000" /> <fPercentSubmerged value="85.000000" /> <vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" /> <vecInertiaMultiplier x="1.600000" y="2.000000" z="2.400000" /> <fDriveBiasFront value="0.500000" /> <nInitialDriveGears value="4" /> <fInitialDriveForce value="0.120000" /> <fDriveInertia value="0.500000" /> <fClutchChangeRateScaleUpShift value="1.000000" /> <fClutchChangeRateScaleDownShift value="1.000000" /> <fInitialDriveMaxFlatVel value="100.000000" /> <fBrakeForce value="0.250000" /> <fBrakeBiasFront value="0.650000" /> <fHandBrakeForce value="0.450000" /> <fSteeringLock value="35.000000" /> <fTractionCurveMax value="1.450000" /> <fTractionCurveMin value="1.350000" /> <fTractionCurveLateral value="15.000000" /> <fTractionSpringDeltaMax value="0.130000" /> <fLowSpeedTractionLossMult value="0.000000" /> <fCamberStiffnesss value="0.000000" /> <fTractionBiasFront value="0.475000" /> <fTractionLossMult value="0.900000" /> <fSuspensionForce value="2.000000" /> <fSuspensionCompDamp value="0.900000" /> <fSuspensionReboundDamp value="1.800000" /> <fSuspensionUpperLimit value="0.100000" /> <fSuspensionLowerLimit value="-0.180000" /> <fSuspensionRaise value="0.000000" /> <fSuspensionBiasFront value="0.450000" /> <fAntiRollBarForce value="0.000000" /> <fAntiRollBarBiasFront value="0.000000" /> <fRollCentreHeightFront value="0.400000" /> <fRollCentreHeightRear value="0.400000" /> <fCollisionDamageMult value="1.000000" /> <fWeaponDamageMult value="1.000000" /> <fDeformationDamageMult value="0.800000" /> <fEngineDamageMult value="1.500000" /> <fPetrolTankVolume value="120.000000" /> <fOilVolume value="8.000000" /> <fSeatOffsetDistX value="0.000000" /> <fSeatOffsetDistY value="0.000000" /> <fSeatOffsetDistZ value="0.000000" /> <nMonetaryValue value="25000" /> <strModelFlags>20840018</strModelFlags> <strHandlingFlags>0</strHandlingFlags> <strDamageFlags>20</strDamageFlags> <AIHandling>TRUCK</AIHandling> <SubHandlingData> <Item type="NULL" /> <Item type="NULL" /> <Item type="NULL" /> </SubHandlingData> </Item> <Item type="CHandlingData"> <handlingName>AMBULAN</handlingName> <fMass value="2500.000000" /> <fInitialDragCoeff value="6.000000" /> <fPercentSubmerged value="80.000000" /> <vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" /> <vecInertiaMultiplier x="1.000000" y="1.000000" z="1.300000" /> <fDriveBiasFront value="0.500000" /> <nInitialDriveGears value="5" /> <fInitialDriveForce value="0.180000" /> <fDriveInertia value="1.000000" /> <fClutchChangeRateScaleUpShift value="1.300000" /> <fClutchChangeRateScaleDownShift value="1.300000" /> <fInitialDriveMaxFlatVel value="140.000000" /> <fBrakeForce value="0.600000" /> <fBrakeBiasFront value="0.650000" /> <fHandBrakeForce value="0.400000" /> <fSteeringLock value="35.000000" /> <fTractionCurveMax value="1.950000" /> <fTractionCurveMin value="1.700000" /> <fTractionCurveLateral value="20.000000" /> <fTractionSpringDeltaMax value="0.150000" /> <fLowSpeedTractionLossMult value="0.500000" /> <fCamberStiffnesss value="0.000000" /> <fTractionBiasFront value="0.485000" /> <fTractionLossMult value="1.000000" /> <fSuspensionForce value="1.400000" /> <fSuspensionCompDamp value="0.900000" /> <fSuspensionReboundDamp value="1.300000" /> <fSuspensionUpperLimit value="0.200000" /> <fSuspensionLowerLimit value="-0.250000" /> <fSuspensionRaise value="0.000000" /> <fSuspensionBiasFront value="0.500000" /> <fAntiRollBarForce value="0.650000" /> <fAntiRollBarBiasFront value="0.510000" /> <fRollCentreHeightFront value="0.300000" /> <fRollCentreHeightRear value="0.300000" /> <fCollisionDamageMult value="1.000000" /> <fWeaponDamageMult value="1.000000" /> <fDeformationDamageMult value="0.800000" /> <fEngineDamageMult value="1.500000" /> <fPetrolTankVolume value="70.000000" /> <fOilVolume value="8.000000" /> <fSeatOffsetDistX value="0.000000" /> <fSeatOffsetDistY value="0.000000" /> <fSeatOffsetDistZ value="0.000000" /> <nMonetaryValue value="40000" /> <strModelFlags>440018</strModelFlags> <strHandlingFlags>0</strHandlingFlags> <strDamageFlags>0</strDamageFlags> <AIHandling>AVERAGE</AIHandling> <SubHandlingData> <Item type="NULL" /> <Item type="NULL" /> <Item type="NULL" /> </SubHandlingData> </Item> </HandlingData> </CHandlingDataMgr>
And this is the code im using to save the changes.
Private Sub SaveFile(ByVal FileLocation As String, ByVal SelectedVehicle As Vehicle) Dim Handling_Xml As New XmlDocument() Handling_Xml.Load(FileLocation) Dim VNode As XmlNode = Handling_Xml.SelectSingleNode(String.Format("//CHandlingDataMgr/HandlingData/Item/handlingName", SelectedVehicle.VID)) If VNode Is Nothing Then MsgBox("XmlNode equal to none!") Else VNode.InnerText = tbhandlingName.Text Handling_Xml.Save(FileLocation) Redisplay(FileLocation) End If End Sub
I plan to loop through all of the nodes inside the item nodes and update them with new strings but i can only seem to do it for the first item node and only the handlingName node. I need to change the attributes as well. Also "SelectedVehicle.VID"
is an integer containing the item node number. Can anyone help me please? Ive searched the internet for days and can not find anything to help in my case. Ive noticed that
SelectSingleNode
selects the first match that occurs but i would like to choose the 2nd or 3rd one as an example and change it without affecting the others.
SelectedVehicle.VID
Contains the number it has occurred.
Problem solved! After trying a few extra things before giving up this is my example code that worked.
Private Sub SaveFile(ByVal FileLocation As String, ByVal SelectedVehicle As Vehicle) SetNode(FileLocation, SelectedVehicle, "//CHandlingDataMgr/HandlingData/Item/handlingName", tbhandlingName.Text, False, Nothing) SetNode(FileLocation, SelectedVehicle, "//CHandlingDataMgr/HandlingData/Item/fMass", tbfMass.Text, True, 0) Redisplay(FileLocation) End Sub Private Sub SetNode(ByVal FileLocation As String, ByVal SelectedVehicle As Vehicle, ByVal Vstring As String, ByVal NewInnerText As String, ByVal AttSet As Boolean, ByVal Att As Integer) Dim Handling_Xml As New XmlDocument() Handling_Xml.Load(FileLocation) Dim VNode As XmlNodeList = Handling_Xml.SelectNodes(String.Format(Vstring)) If AttSet = False Then VNode.Item(SelectedVehicle.VID).InnerText = NewInnerText ElseIf AttSet = True Then VNode.Item(SelectedVehicle.VID).Attributes(Att).InnerText = NewInnerText End If Handling_Xml.Save(FileLocation) End Sub
这篇关于Xml保存更改(帮助!)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!