2016-12-27 95 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); 
} 
}