美文网首页
python解析xml一些心得体会

python解析xml一些心得体会

作者: taking_off | 来源:发表于2019-11-27 16:22 被阅读0次

    本文仅针对使用elementtree解析xml的情况。

    1、使用.text获取某个标签文本的时候,一定注意判断返回值是不是None。因为None是python里一个很特殊的变量,拥有独特的类型NoneType,无法视同字符串进行操作。

    2、使用find获取到某个节点,实际获取的是这个节点所包含的所有子节点,可以通过数组索引获取指定的子节点。例如

    newNode = root.find('tagname')

    for i in range(len(newNode):

    txt = newNode[i].text

    3、遇到一些结构比较奇葩的xml的时候,比如

    <title>二氧化碳(CO<sub>2</sub>)和纯水(H<sub>2</sub>O)混合物的物理性质</title>

    可以通过循环titleNode的各个子节点获取text,然后拼接起来,结果发现fulltext的内容是:二氧化碳(CO2)和纯水(H2

    </sub>后的内容取不到,这时,就要用.tail来获取节点后的小尾巴。titleNode[1].tail的值就是"O)混合物的物理性质"

    4、如果我要取某个节点下的全部文字,而忽略掉其中的修饰节点,有没有更简单的方法?答案是,有的。

    使用itertext()方法。

    还是这个例子:<title>二氧化碳(CO<sub>2</sub>)和纯水(H<sub>2</sub>O)混合物的物理性质</title>

    我只要用这个方式:fulltext = ''.join(titleNode.itertext())就可以把”二氧化碳(CO2)和纯水(H2O)混合物的物理性质“全部获取了,就这么简单。

    相关文章

      网友评论

          本文标题:python解析xml一些心得体会

          本文链接:https://www.haomeiwen.com/subject/wrcphqtx.html