簡體   English   中英

java xpath XML解析

[英]java xpath XML parsing

我編寫了一些代碼來使用xpath從XML字符串中提取不同的部分。 我的問題是,例如xml字符串

<event>alarm, red, 2</event>

是否有任何簡單的方法用xpath選擇說第一個逗號后字符串中的第二個單詞如此“紅色”? 現在我正在使用

String event = xpath.evaluate("/event", doc);

返回"alarm, red, 2"但我想要的只是"red" 我知道我可以然后采取事件並使用子字符串來提取"red"但我想知道是否有辦法使用xpath而不是substring?

碼:

String xml = "<event>alarm, red, 2<event>";  

XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();

InputSource source = new InputSource(new StringReader(xml));
Document doc = (Document) xpath.evaluate ("/", source, XPathConstants.NODE);

如果使用XPath 2.0實現,則可以使用tokenize並使用正則表達式按逗號分隔字符串,然后選擇第二個標記:

tokenize(/event, ',')[2]

我不認為這是可能的,這可能不是一個好主意,你的元素的內容應該是原子的,我會避免將這個解析與Xpath混合,並簡單地用一個實用方法包裝事件來裝飾第一個單詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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