- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试解析编码不当的 XML 并输出标签的节点名称和内容(仅当它存在时),并且仅当字符串名称=内容 > 30 天时。
到目前为止,我可以使用 ElementTree 搜索子元素,但我需要有关嵌套信息不当的帮助。我无法更改 XML,因为它是供应商提供的报告。我是一个完全的新手,所以请指导我需要做什么或提供更好的帮助。提前致谢。
示例文件:
<?xml version="1.0" encoding="UTF-8"?>
<ReportSection>
<ReportHead>
<Criteria>
<HeadStuff value=Dont Care>
</HeadStuff>
</Criteria>
</ReportHead>
<ReportBody>
<ReportSection name="UpTime" category="rule">
<ReportSection name="NodeName.domain.net" category="node">
<String name="node">NodeName.domain.net</String>
<String name="typeName">Windows Server</String>
<OID>-1y2p0ij32e8c8:-1y2p0idhghwg6</OID>
<ReportSection name="UpTime" category="element">
<ReportSection name="2015-09-20 18:50:10.0" category="version">
<String name="version">UpTime</String>
<OID>-1y2p0ij32e8cj:-1y2p0ibspofhp</OID>
<Integer name="changeType">2</Integer>
<String name="changeTypeName">Modified</String>
<Timestamp name="changeTime" displayvalue="9/20/15 6:50 PM">1442793010000</Timestamp>
<ReportSection name="versionContent" category="versionContent">
<String name="content">12 day(s), 7 hour(s), 33 minute(s), 8 second(s)</String>
<String name="content"></String>
</ReportSection>
</ReportSection>
</ReportSection>
</ReportSection>
</ReportSection>
</ReportBody>
</ReportSection>
最佳答案
想法是定位 content
节点,提取那里有多少天,然后在需要时检查值,并定位节点名称。示例(使用 lxml.etree
):
import re
from lxml import etree
pattern = re.compile(r"^(\d+) day\(s\)")
data = """your XML here"""
tree = etree.fromstring(data)
content = tree.findtext(".//String[@name='content']")
if content:
match = pattern.search(content)
if match:
days = int(match.group(1))
# TODO: check the days if needed
node = tree.findtext(".//String[@name='node']")
print node, days
打印:
NodeName.domain.net 12
关于Python ElementTree - 在写得不好的 XML 中搜索 child /孙子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32827119/
我需要索引 3 个级别(或更多)的子级-父级。例如,级别可能是一位作者、一本书和那本书中的角色。 但是,当索引超过两层时,has_child 和 has_parent 查询和过滤器会出现问题。如果我有
我制作了一个简单的 react 任务列表,它允许我添加新任务。我现在希望能够删除任务,但无法了解如何将函数属性传递给子/孙组件。 我想通过 deleteTaskFromState函数属性一直到 成分。
我正在循环属于 frag 的 span 元素类(class)。我想检测当前所在的frag元素是否是属于frag的a span元素的最小儿子/孙子/孙子(从左到右)类并属于 cond类,并且在其文本中有
在处理命令行的 JavaFX 模型时,我遇到了以下问题: 如果我运行一个运行另一个进程的进程(例如批处理文件)(例如使用简单的 start notepad 打开记事本)我似乎无法正确确定批处理文件何时
我正在 linux (Ubuntu) 上做一个小项目,我需要一个人通过身份验证才能访问服务。我的想法是,此身份验证应与进程及其子进程一起存储,而不是与 linux 用户本身一起存储。 此身份验证应通过
假设我有一个像这样的模板模态 react 组件(经过简化以使我的问题更清晰): function Modal(props) { const hide=()=>{ documen
过去 2 小时在网上搜索这个。任何帮助是极大的赞赏。 场景是这样的,我们有一个Questionnaire,有Steps,每个step都有input sets,每个input set有questions
我正在尝试解析编码不当的 XML 并输出标签的节点名称和内容(仅当它存在时),并且仅当字符串名称=内容 > 30 天时。 到目前为止,我可以使用 ElementTree 搜索子元素,但我需要有关嵌套信
我正在进行一个小实验。我正在尝试使用 :focus 创建一个没有 javascript 的 onclick 菜单。我遇到的问题是孙子,单击它仍然会关闭父级。我尝试使用 ~ 选择器使其保持打开状态,但它
我有一个 3 个数据库设置,例如父->子->孙,到目前为止,我可以设法获取特定父级的子级,但无法深入到另一个级别。 class Parent : Object { @objc dynamic
ver data = [ {"id": 1,"parent": 0,"name": "Parent"}, {"id": 2,"parent": 1,"name": "Child"},
我是一名优秀的程序员,十分优秀!