我的XML是像<value>value1</value>
我想用公共沼氣池分析它,並希望得到「值1」作爲一個String對象解析用沼氣池
Q
解析用沼氣池
0
A
回答
0
我不認爲這是可能加載「值1」直接進入String
實例(按addObjectCreate
),因爲String是不可變的。與此相反,我會強制消化池調用一種方法。簡短的樣本:
import java.io.File;
import org.apache.commons.digester.Digester;
public class Tester {
public static void main(String[] args) throws Exception {
Tester t = new Tester();
t.go();
}
private String read;
void go() throws Exception {
Digester digester = new Digester();
digester.push(this);
digester.addCallMethod("value", "readString", 1);
digester.addCallParam("value", 0);
digester.parse(new File("tester.xml"));
System.out.println("string: " + read);
}
public void readString(String a) {
this.read = a;
}
}
tester.xml:
<?xml version="1.0" encoding="UTF-8"?>
<value>value1</value>
1
與盧卡斯的答案去,如果你不想再創建一個對象來保存的價值,那麼你可以只按下一個StringBuilder
然後使用addCallMethod
致電append
。爲了清晰起見,我在此處複製了代碼:
public class StringExtractor {
public static void main(String[] args) throws IOException, SAXException {
final String xml = "<value>value1</value>";
final Digester digester = new Digester();
digester.push(new StringBuilder());
digester.addCallMethod("*/value", "append", 1);
digester.addCallParam("*/value", 0);
final String value = digester.parse(new StringReader(xml)).toString();
System.out.println(value);
}
}
相關問題
- 1. 解析爲使用共享沼氣池
- 2. 使用Apache常見的沼氣池解析XML
- 3. Java的沼氣池爲UTF-8
- 4. 阿帕奇沼氣池XML解析器註釋和複合模型
- 5. 使用公共沼氣池如何將單個xml條目解析爲對象中的多個字段?
- 6. 阿帕奇沼氣池例外:屬性...不能設置
- 7. 腳本解析天氣
- 8. 雅虎天氣api解析
- 9. 通過Google解析天氣
- 10. 天氣數據JSON解析
- 11. 解析XML天氣與Python
- 12. 天氣度xml解析
- 13. 解析天氣應用的JSON數據
- 14. 如何使用AS3解析PDF? (空氣)
- 15. 無法解析充氣器和容器
- 16. 解析數字與助力氣qi
- 17. 助力精神氣 - 條件解析
- 18. iOS簡單的XML天氣解析
- 19. iPhone:麻煩解析谷歌天氣API
- 20. 在adobe空氣中解析html
- 21. 如何從使用boost ::精神::氣字符數組解析雙::解析
- 22. Android - 在線vs離線解析 - 電池
- 23. 如何使用GSON解析來自百度天氣API的JSON
- 24. 如何使用NSXML解析Google天氣API?
- 25. 在靈氣中使用可選的解析器qi
- 26. 使用Json.Net解析forecast.io氣象數據時遇到問題
- 27. 如何使用XMLParser解析谷歌天氣xml
- 28. 用ObjectiveC解析世界天氣在線JSON iOS 6
- 29. 什麼是沼澤圖?
- 30. 我如何easy_install沼澤?