如何使用lxml获取XML声明字符串

时间:2018-02-15 09:15:12

标签: python xml lxml

我使用lxml来解析XML文档 我怎样才能获得声明字符串?

 <?xml version="1.0" encoding="utf-8" ?> 

我想检查它是否存在,它有什么编码以及xml版本。

2 个答案:

答案 0 :(得分:2)

解析文档时,生成的ElementTree对象应该有一个DocInfo对象,其中包含有关解析的XML或HTML文档的信息。

对于XML,您可能会对此xml_version的{​​{1}}和encoding属性感兴趣:

DocInfo

答案 1 :(得分:0)

也许您应该只检查XML文件中是否可以找到具有该声明值()的字符串:

List<String> results = new ArrayList<>();
String s = "Hello, #how are you# today. Hello, #how are you #today.";
Pattern pattern = Pattern.compile("#\\b.*?\\b#|\\B#\\w+");
Matcher matcher = pattern.matcher(s);
while (matcher.find()){
    results.add(matcher.group());
} 
System.out.println(results); 
// => [#how are you#, #how, #today]