2014-01-24 105 views
0

我都存儲在一個字符串以下XML拆分XML字符串在Java中分爲3個部分

<MessageHeader> 
<MessageThreadId>201401140942060</MessageThreadId> 
</MessageHeader> 
<MessageNotificationPeriod> 
<StartDate>2013-11-01T00:00:00.000000</StartDate> 
<EndDate>2013-12-01T00:00:00.000000</EndDate> 
</MessageNotificationPeriod> 
<SalesReport> 
<SalesByTerritory> 
<TerritoryCode>US</TerritoryCode> 
</SalesByTerritory> 
</SalesByCommercialModel> 
</SalesReport> 

我想將字符串分割成3個部分,以便它可以在文件我會在不同的地方進行打印正在創造。我想要</MessageNotificationPeriod>結束第一部分,</TerritoryCode>結束第二部分,其餘部分將在第三個新字符串中結束。我試過使用String.split(),但它刪除了我分裂的字符串。

+5

您應該考慮使用XML解析器而不是字符串拆分,請檢查http://stackoverflow.com/questions/373833/best-xml-parser-for-java – krampstudio

+0

有這種方法創建文件的技術原因是基於數據(SalesByTerritory)來自數據庫。 – user1712258

回答

-1

,您是否試圖串(開始,結束)方法

1

如果你不想來解析XML,它是很容易使用正則表達式:

Pattern pattern = Pattern.compile(
    "^(.*</MessageNotificationPeriod>)(.*</TerritoryCode>)(.*)$" 
); 
Matcher matcher = pattern.matcher(xmlString); 
if (!matcher.matches()) { 
    throw new IllegalStateException(); 
} 
String part1 = matcher.group(1); 
String part2 = matcher.group(2); 
String part3 = matcher.group(3); 

capturing groups tutorial

相關問題