[英]How to extract a value from a string
我有一個包含此值的變量
<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>
之前的值
在這里,您可以輕松使用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);
}
}
您應該將Java DOM解析器與Xpath結合使用。 有了它,您不僅可以獲取國家代碼,還可以獲取xml中的其他值,如機場代碼,CityAirportName等。有關代碼的示例,請訪問此站點: https ://www.tutorialspoint.com/java_xml/java_xpath_parse_document.htm
這看起來像部分xml文本,因為缺少一些結束標記。 如果您有完整的xml文本,那么我建議您使用一些xml解析器,如Dom parser for xml
。
否則你可以做這樣的事情
String countryCode = xmlText.substring("<CountryCode>".length() + xmlText.indexOf("<CountryCode>"), xmlText.indexOf("</CountryCode>"));
System.out.println(countryCode);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.