栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从reStructuredText提取字段列表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从reStructuredText提取字段列表

您可以尝试使用类似以下代码的内容。而不是使用

publish_parts
我曾经使用过的方法
publish_doctree
来获取文档的伪XML表示形式。然后,我已转换为XML
DOM,以提取所有
field
元素。然后我得到每个元素的第一个
field_name
field_body
元素
field

from docutils.core import publish_doctreesource = """Some text ...:foo: barSome text ..."""# Parse reStructuredText input, returning the Docutils doctree as# an `xml.dom.minidom.document` instance.doctree = publish_doctree(source).asdom()# Get all field lists in the document.fields = doctree.getElementsByTagName('field')d = {}for field in fields:    # I am assuming that `getElementsByTagName` only returns one element.    field_name = field.getElementsByTagName('field_name')[0]    field_body = field.getElementsByTagName('field_body')[0]    d[field_name.firstChild.nodevalue] =         " ".join(c.firstChild.nodevalue for c in field_body.childNodes)print d # Prints {u'foo': u'bar'}

该xml.dom的模块是不是最容易与工作(为什么我需要使用

.firstChild.nodevalue
,而不是仅仅
.nodevalue
例如),所以你可能希望使用xml.etree.ElementTree模块,我觉得轻松了许多与工作。如果您使用LXML你也可以使用XPath表示法来找到所有的
field
field_name
field_body
元素。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669527.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号