我的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沼泽?