- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试用代码解析 XML
import urllib2
from xml.etree import ElementTree
if __name__ == '__main__':
print 'hello'
result = urllib2.urlopen('http://localhost/conf.xml').read()
xml = ElementTree.fromstring(result)
print result
print xml.findtext('.//type')
当我打印结果时,我得到了所有的 xml 文件,这没问题,但最后一行 ( xml.findtext) 总是返回 None (我有带有类型和值 mstp 的标签)。有人可以帮我吗?我在 StackOverflow 上浏览过
How to parse xml in Python on Google App Engine但我没有得到 (.//type ) 的结果。
有xml文件
<router>
<datalink
type="mstp"
network="13"
mac="18"
hopcount="8">
<mqueue
name="/mstp1"
msgnum="10"
msgsize="768"
/>
<mstp
port="/dev/ttySx"
baud="9600|19200|38400|76800"
Nmax_info_frames="1+"
Nmax_master="127-"
Npoll="50"
Nretry_token="1"
Nmin_octets="4"
Tframe_abort="60-100"
Tframe_gap="20"
Tno_token="500"
Tpostdrive="15"
Treply_delay="250"
Treply_timeout="255-300"
Troff="29-40"
Tslot="10"
Tturnaround="40"
Tusage_delay="15"
Tusage_timeout="20-100"
/>
</datalink>
<datalink
type="bip"
network="12"
mac="192.168.0.146:47808"
hopcount="8"
>
<mqueue
name="/bip1"
msgnum="10"
msgsize="2048"
/>
<bip
bbmd="address|self|none"
bmask="bmask"
>
<bbmd
edit="yes|no"> <!-- dozvoljeno menjanje tabele -->
<bdt address="192.168.0.131:0xBAC0:192.168.0.255"/> <!-- adresa:port:bmask -->
<bdt address="192.168.0.157:0xBAC0:192.168.0.255"/>
</bbmd>
</bip>
</datalink>
<network
unavailable="90%"
available="40%"
hop-dec="1">
<mqueue
name="/network"
msgnum="40"
msgsize="2048"
/>
<!-- -->
<hrpolicy
general="ignore|activate|performance|demand"
performance="num"
conntime="num"
/>
</network>
<application>
<mqueue
name="/application"
msgnum="10"
msgsize="2048"
/>
</application>
</router>
最佳答案
这与 namespace 无关。
问题 1:type
不是标签,它是标签为 datalink
的元素的 attribute
。
问题2:xml.findtext()
返回元素的text
组件;那不是你想要的。
你想要的是:
elem = xml.find(".//datalink")
print repr(elem)
print elem.get("type")
输出:
<Element 'datalink' at 0x019D0AB8>
mstp
关于python - Python 中的 XML 解析问题 - 找不到 findtext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122681/
我正在尝试在 Windows 上运行的小于 1GB 的 VM 上设置 YouTrack 和 TeamCity。使用率将非常低(用户和请求)。这是一个 POC 环境,如果它有效,我可能会将它推送到一个超
所以我在尝试使用 FORFILES 解决这个问题时遇到了麻烦。我正在尝试获取不超过 4 天的文件。所以基本上少于 4 天。然而,这似乎不太可能,因为/d -4 获取所有 4 天或更早的项目。 以下是我
如何从下面的 events 表中选择小于 15 分钟前创建的 events? CREATE TABLE events ( created_at timestamp NOT NULL DEFAU
Google Analytics Realtime提供 rt:minutesAgo ,可以过滤查询。 然而,它是一个维度而不是一个度量标准,<=不能在过滤器中使用。 假设我想在最后 n 分钟内获得一些
iOS 核心数据 - 严重的应用程序错误 - 尝试插入 nil 你好, 我的应用程序实际上运行稳定,但在极少数情况下它会崩溃并显示此错误消息... 2019-04-02 20:48:52.437172
我想制作一个 html div 以快速向右移动(例如不到 1 秒)并消失。然后1秒后再次直接出现在这个过程最开始div的位置。此过程将由单击按钮并重复 10 次触发。 我试图在 CSS 中使用过渡属性
我发现使用 TimeTrigger 是 Windows 10 (UWP) 上计划后台任务的方式。但是看起来我们需要给出的最小数字是 15 分钟。只是想知道,即使我们安排它在接下来的 1 分钟内运行,警
我必须在 1 秒内在屏幕上打印 2^20 行整数 printf 不够快,还有其他易于使用的快速输出替代方法吗? 每一行只包含 1 个整数。 我要求它用于竞争性编程问题,我必须将其源代码提交给法官。 最
我是一名优秀的程序员,十分优秀!