2014-02-20 42 views
0

我有這樣的XML代碼如何讓文字插圖中的XML標籤

<Item> 
     <modelName>btype</modelName> 
     <txdName>btype</txdName> 
     <handlingId>C0met</handlingId> 
     <gameName>ROOSEVELT</gameName> 
     <vehicleMakeName>ALBANY</vehicleMakeName> 
     <expressionDictName>null</expressionDictName> 
     <expressionName>null</expressionName> 
     <animConvRoofDictName>null</animConvRoofDictName> 
     <animConvRoofName>null</animConvRoofName> 
     <animConvRoofWindowsAffected /> 
     <ptfxAssetName>veh_car</ptfxAssetName> 
     <audioNameHash /> 
     <layout>LAYOUT_VAN_ROOSEVELT</layout> 
     <coverBoundOffsets>ROOSEVELT_COVER_OFFSET_INFO</coverBoundOffsets> 
     <explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo> 
     <scenarioLayout /> 
     <cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName> 
     <aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName> 
     <bonnetCameraName>VEHICLE_BONNET_CAMERA_STANDARD_LONG_EXTRA_LOW</bonnetCameraName> 
     <vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName> 
     <shouldUseCinematicViewMode value="true" /> 
     <shouldCameraTransitionOnClimbUpDown value="false" /> 
     <shouldCameraIgnoreExiting value="false" /> 
     <AllowPretendOccupants value="true" /> 
     <AllowJoyriding value="true" /> 
     <AllowSundayDriving value="true" /> 
     <AllowBodyColorMapping value="true" /> 
     <wheelScale value="0.245000" /> 
     <wheelScaleRear value="0.450700" /> 
     <dirtLevelMin value="0.000000" /> 
     <dirtLevelMax value="0.800000" /> 
     <envEffScaleMin value="0.000000" /> 
     <envEffScaleMax value="1.000000" /> 
     <envEffScaleMin2 value="0.000000" /> 
     <envEffScaleMax2 value="1.000000" /> 
     <damageMapScale value="0.500000" /> 
     <damageOffsetScale value="0.500000" /> 
     <diffuseTint value="0x00FFFFFF" /> 
     <steerWheelMult value="1.000000" /> 
     <HDTextureDist value="5.000000" /> 
     <lodDistances content="float_array">10 
25 
70 
500 
</lodDistances> 
     <identicalModelSpawnDistance value="20" /> 
     <maxNumOfSameColor value="10" /> 
     <defaultBodyHealth value="1000.000000" /> 
     <pretendOccupantsScale value="1.000000" /> 
     <visibleSpawnDistScale value="1.000000" /> 
     <trackerPathWidth value="2.000000" /> 
     <weaponForceMult value="1.000000" /> 
     <frequency value="1" /> 
     <swankness>SWANKNESS_5</swankness> 
     <maxNum value="2" /> 
     <flags>FLAG_SPORTS FLAG_RICH_CAR FLAG_COUNT_AS_FACEBOOK_DRIVEN FLAG_EXTRAS_ALL FLAG_EXTRAS_STRONG</flags> 
     <type>VEHICLE_TYPE_CAR</type> 
     <plateType>VPT_BACK_PLATES</plateType> 
     <vehicleClass>VC_SPORT_CLASSIC</vehicleClass> 
     <wheelType>VWT_LOWRIDER</wheelType> 
     <trailers /> 
     <additionalTrailers /> 
     <drivers /> 
     <extraIncludes /> 
     <doorsWithCollisionWhenClosed /> 
     <driveableDoors /> 
     <bumpersNeedToCollideWithMap value="false" /> 
     <needsRopeTexture value="false" /> 
     <requiredExtras /> 
     <rewards /> 
     <cinematicPartCamera> 
     <Item>WHEEL_FRONT_RIGHT_CAMERA</Item> 
     <Item>WHEEL_FRONT_LEFT_CAMERA</Item> 
     <Item>WHEEL_REAR_RIGHT_CAMERA</Item> 
     <Item>WHEEL_REAR_LEFT_CAMERA</Item> 
     </cinematicPartCamera> 
     <NmBraceOverrideSet /> 
     <buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" /> 
     <buoyancySphereSizeScale value="1.000000" /> 
     <pOverrideRagdollThreshold type="NULL" /> 
    </Item> 

我需要得到

第一項標記之間的文本,我試圖用這個

string s = "<Item> 
     <modelName>btype</modelName> 
     <txdName>btype</txdName> 
     <handlingId>C0met</handlingId> 
     <gameName>ROOSEVELT</gameName> 
     <vehicleMakeName>ALBANY</vehicleMakeName> 
     <expressionDictName>null</expressionDictName> 
     <expressionName>null</expressionName> 
     <animConvRoofDictName>null</animConvRoofDictName> 
     <animConvRoofName>null</animConvRoofName> 
     <animConvRoofWindowsAffected /> 
     <ptfxAssetName>veh_car</ptfxAssetName> 
     <audioNameHash /> 
     <layout>LAYOUT_VAN_ROOSEVELT</layout> 
     <coverBoundOffsets>ROOSEVELT_COVER_OFFSET_INFO</coverBoundOffsets> 
     <explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo> 
     <scenarioLayout /> 
     <cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName> 
     <aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName> 
     <bonnetCameraName>VEHICLE_BONNET_CAMERA_STANDARD_LONG_EXTRA_LOW</bonnetCameraName> 
     <vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName> 
     <shouldUseCinematicViewMode value="true" /> 
     <shouldCameraTransitionOnClimbUpDown value="false" /> 
     <shouldCameraIgnoreExiting value="false" /> 
     <AllowPretendOccupants value="true" /> 
     <AllowJoyriding value="true" /> 
     <AllowSundayDriving value="true" /> 
     <AllowBodyColorMapping value="true" /> 
     <wheelScale value="0.245000" /> 
     <wheelScaleRear value="0.450700" /> 
     <dirtLevelMin value="0.000000" /> 
     <dirtLevelMax value="0.800000" /> 
     <envEffScaleMin value="0.000000" /> 
     <envEffScaleMax value="1.000000" /> 
     <envEffScaleMin2 value="0.000000" /> 
     <envEffScaleMax2 value="1.000000" /> 
     <damageMapScale value="0.500000" /> 
     <damageOffsetScale value="0.500000" /> 
     <diffuseTint value="0x00FFFFFF" /> 
     <steerWheelMult value="1.000000" /> 
     <HDTextureDist value="5.000000" /> 
     <lodDistances content="float_array">10 
25 
70 
500 
</lodDistances> 
     <identicalModelSpawnDistance value="20" /> 
     <maxNumOfSameColor value="10" /> 
     <defaultBodyHealth value="1000.000000" /> 
     <pretendOccupantsScale value="1.000000" /> 
     <visibleSpawnDistScale value="1.000000" /> 
     <trackerPathWidth value="2.000000" /> 
     <weaponForceMult value="1.000000" /> 
     <frequency value="1" /> 
     <swankness>SWANKNESS_5</swankness> 
     <maxNum value="2" /> 
     <flags>FLAG_SPORTS FLAG_RICH_CAR FLAG_COUNT_AS_FACEBOOK_DRIVEN FLAG_EXTRAS_ALL FLAG_EXTRAS_STRONG</flags> 
     <type>VEHICLE_TYPE_CAR</type> 
     <plateType>VPT_BACK_PLATES</plateType> 
     <vehicleClass>VC_SPORT_CLASSIC</vehicleClass> 
     <wheelType>VWT_LOWRIDER</wheelType> 
     <trailers /> 
     <additionalTrailers /> 
     <drivers /> 
     <extraIncludes /> 
     <doorsWithCollisionWhenClosed /> 
     <driveableDoors /> 
     <bumpersNeedToCollideWithMap value="false" /> 
     <needsRopeTexture value="false" /> 
     <requiredExtras /> 
     <rewards /> 
     <cinematicPartCamera> 
     <Item>WHEEL_FRONT_RIGHT_CAMERA</Item> 
     <Item>WHEEL_FRONT_LEFT_CAMERA</Item> 
     <Item>WHEEL_REAR_RIGHT_CAMERA</Item> 
     <Item>WHEEL_REAR_LEFT_CAMERA</Item> 
     </cinematicPartCamera> 
     <NmBraceOverrideSet /> 
     <buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" /> 
     <buoyancySphereSizeScale value="1.000000" /> 
     <pOverrideRagdollThreshold type="NULL" /> 
    </Item>"; 
Console.WriteLine(s.Substring(s.IndexOf("<Item>") + "<Item>".Length, s.IndexOf("</Item>") - s.IndexOf("<Item>") - "<Item>".Length)); 

但給我這個

<modelName>btype</modelName> 
     <txdName>btype</txdName> 
     <handlingId>C0met</handlingId> 
     <gameName>ROOSEVELT</gameName> 
     <vehicleMakeName>ALBANY</vehicleMakeName> 
     <expressionDictName>null</expressionDictName> 
     <expressionName>null</expressionName> 
     <animConvRoofDictName>null</animConvRoofDictName> 
     <animConvRoofName>null</animConvRoofName> 
     <animConvRoofWindowsAffected /> 
     <ptfxAssetName>veh_car</ptfxAssetName> 
     <audioNameHash /> 
     <layout>LAYOUT_VAN_ROOSEVELT</layout> 
     <coverBoundOffsets>ROOSEVELT_COVER_OFFSET_INFO</coverBoundOffsets> 
     <explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo> 
     <scenarioLayout /> 
     <cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName> 
     <aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName> 
     <bonnetCameraName>VEHICLE_BONNET_CAMERA_STANDARD_LONG_EXTRA_LOW</bonnetCameraName> 
     <vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName> 
     <shouldUseCinematicViewMode value="true" /> 
     <shouldCameraTransitionOnClimbUpDown value="false" /> 
     <shouldCameraIgnoreExiting value="false" /> 
     <AllowPretendOccupants value="true" /> 
     <AllowJoyriding value="true" /> 
     <AllowSundayDriving value="true" /> 
     <AllowBodyColorMapping value="true" /> 
     <wheelScale value="0.245000" /> 
     <wheelScaleRear value="0.450700" /> 
     <dirtLevelMin value="0.000000" /> 
     <dirtLevelMax value="0.800000" /> 
     <envEffScaleMin value="0.000000" /> 
     <envEffScaleMax value="1.000000" /> 
     <envEffScaleMin2 value="0.000000" /> 
     <envEffScaleMax2 value="1.000000" /> 
     <damageMapScale value="0.500000" /> 
     <damageOffsetScale value="0.500000" /> 
     <diffuseTint value="0x00FFFFFF" /> 
     <steerWheelMult value="1.000000" /> 
     <HDTextureDist value="5.000000" /> 
     <lodDistances content="float_array">10 
25 
70 
500 
</lodDistances> 
     <identicalModelSpawnDistance value="20" /> 
     <maxNumOfSameColor value="10" /> 
     <defaultBodyHealth value="1000.000000" /> 
     <pretendOccupantsScale value="1.000000" /> 
     <visibleSpawnDistScale value="1.000000" /> 
     <trackerPathWidth value="2.000000" /> 
     <weaponForceMult value="1.000000" /> 
     <frequency value="1" /> 
     <swankness>SWANKNESS_5</swankness> 
     <maxNum value="2" /> 
     <flags>FLAG_SPORTS FLAG_RICH_CAR FLAG_COUNT_AS_FACEBOOK_DRIVEN FLAG_EXTRAS_ALL FLAG_EXTRAS_STRONG</flags> 
     <type>VEHICLE_TYPE_CAR</type> 
     <plateType>VPT_BACK_PLATES</plateType> 
     <vehicleClass>VC_SPORT_CLASSIC</vehicleClass> 
     <wheelType>VWT_LOWRIDER</wheelType> 
     <trailers /> 
     <additionalTrailers /> 
     <drivers /> 
     <extraIncludes /> 
     <doorsWithCollisionWhenClosed /> 
     <driveableDoors /> 
     <bumpersNeedToCollideWithMap value="false" /> 
     <needsRopeTexture value="false" /> 
     <requiredExtras /> 
     <rewards /> 
     <cinematicPartCamera>  
     <Item>WHEEL_FRONT_RIGHT_CAMERA 

我的問題是我如何得到它的第一個標籤之間的文本,所以它給我所有的文字

回答

0

你沒有提到你想要做什麼,我不知道這是什麼語言,我不知道你有什麼你希望與文本後,你有它,所以很難做出很好的答案。完成此任務的最簡單方法是使用XML解析器庫進入節點並轉儲其所有子節點的文本。

我強烈推薦ElementTree作爲一個Python XML解析庫,但是可能存在您選擇的語言。

更新:您已經評價說你使用C#,這裏是XML的教程與語言解析:System.XML

+0

的語言是C# – user3322719

+0

我已經編輯了答案,在這種情況下,你可以使用像C#的System.XML(請參閱http://msdn.microsoft.com/en-us/library/cc189056%28v=vs.95%29.aspx) – binaryatrocity