簡體   English   中英

如何從字符串中提取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM