我正在使用ElementTree来解析XML文件.在某些字段中,会有HTML数据.例如,考虑如下声明:
Line 1
Line 2
现在,假设_course是一个Element变量,它保存了这个Couse元素.我想访问这门课程的描述,所以我这样做:
desc = _course.find("Description").text;
但是desc只包含“第1行”.我读了一些关于.tail属性的内容,所以我也试过了:
desc = _course.find("Description").tail;
我得到相同的输出.我该怎么做才能使desc成为“Line 1Line 2”(或者字面上介于和之间的任何东西)?换句话说,我正在寻找类似于C#中的.innerText属性(我想其他许多语言).
解决方法:
您是否可以控制xml文件的创建?应该对包含xml标记(或类似)或标记字符(‘
>一个CDATA部分
> Base64或其他一些编码(不包括xml保留字符)
>实体编码(‘
如果您无法进行这些更改,并且ElementTree无法忽略xml架构中未包含的标记,则您必须预处理该文件.当然,如果架构与html重叠,那你就不走运了.
标签:python,xml,elementtree,html