2016-12-27 103 views
1

我有一個包含該值如何從字符串中提取值

<NewDataSet> <Table> <AirportCode>LKO</AirportCode> <CityOrAirportName>LUCKNOW AMAUSI</CityOrAirportName> <Country>India</Country> <CountryAbbrviation>IN</CountryAbbrviation> <CountryCode>733</CountryCode> <GMTOffset>-5.5</GMTOffset> <RunwayLengthFeet>7835</RunwayLengthFeet> 

我怎樣才能提取此國家代碼,在這種情況下,733國家代碼可以是不同的變量,所以我需要以某種方式獲得<CountryCode>之前和</CountryCode>

+3

@ScaryWombat看起來像xml –

+0

您可以使用XML解析器。 –

+0

@DonaldWu LOL,正在考慮xml並輸入HTML –

回答

-1

之前的值您應該使用與Xpath結合使用的Java DOM解析器。這樣,您不僅可以從你的XML像機場代碼,CityAirportName等 獲得國家代碼,還包括其他值的代碼看這個網站的例子:https://www.tutorialspoint.com/java_xml/java_xpath_parse_document.htm

+0

請閱讀[答]。答案必須是獨立的,不要依靠外部鏈接來獲取關鍵信息。鏈接變壞,使未來的讀者無用。 –

-2

這看起來像部分XML文本,因爲某些結束標記失蹤。 如果你有完整的XML文本,那麼我建議你使用一些XML解析器,如Dom parser for xml

否則,你可以做這樣的事情

String countryCode = xmlText.substring("<CountryCode>".length() + xmlText.indexOf("<CountryCode>"), xmlText.indexOf("</CountryCode>")); 
System.out.println(countryCode); 
+1

請閱讀如何應答。答案必須是獨立的,不要依靠外部鏈接來獲取關鍵信息。鏈接變壞,使未來的讀者無用。 –

3

在這裏,您可以輕鬆地使用JDOM,Xerces的的DOMParser或JAXP接口解析您提供的文件是在一個變量考慮,也可以在XML文件保存到閱讀本文件。我認爲你提供的文件並不像XML那樣格式化,所以我提供了你的子字符串方法來找到你想要的結果。

/** 
* 
* @author mahsin 
* @date 27-12-2016 
*/ 
public class Main{ 
public static void main(String args[]){ 
    String testText = "<NewDataSet> <Table> <AirportCode>LKO</AirportCode> <CityOrAirportName>LUCKNOW AMAUSI</CityOrAirportName> <Country>India</Country> <CountryAbbrviation>IN</CountryAbbrviation> <CountryCode>733</CountryCode> <GMTOffset>-5.5</GMTOffset> <RunwayLengthFeet>7835</RunwayLengthFeet>"; 
    String countryCode = testText.substring("<CountryCode>".length() + testText.indexOf("<CountryCode>"), testText.indexOf("</CountryCode>")); 
    System.out.println(countryCode); 
} 
}