2014-02-20 2 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 

i вопрос в том, как получить его, чтобы получить текст между первым тегом, чтобы он дал мне весь текст

ответ

0

Вы не указали, на каком языке вы пытаетесь это сделать, и я не уверен что вы надеетесь сделать с текстом после того, как у вас есть это, так что трудно сделать хороший ответ. Самый простой способ выполнить эту задачу - использовать библиотеку парсеров XML, войти в узел и выгрузить текст всех его дочерних элементов.

Я могу порекомендовать ElementTree в качестве библиотеки анализа синтаксиса Python, однако, скорее всего, существует язык по вашему выбору.

Update: Вы отметили, что вы используете 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

Смежные вопросы