Python:验证类似于 XML 的未知文件架构

Python: Validating Unknown File Schema Similar to XML

提问人:Parmandeep Chaddha 提问时间:11/23/2022 更新时间:11/23/2022 访问量:27

问:

我有软件可以输出一个配置文件,其中包含我以前没有遇到过的不熟悉的文件格式。该架构看起来与 XML 非常相似,只是每个树中的“final”级别没有结束标记 - 。请参阅下面的示例。< / >

  1. 有没有像这样常见的文件格式?
  2. 如果使用 Python 不常见,我将如何在此架构上验证以下内容:
    1. 架构是有效的(即每个带有子项 () 的属性都有一个右括号),<>后跟 </>parent
    2. 全部由 等关闭<>
<Main Section>
    <Subsection>
        <Property 1> Value 1  # Note: this property does not have a closing tag
        <Property 2> Value 2
    </Subsection>
</Main Section>
<Section 2> Foo_Bar # Since the length of this "section" is only 1, this also does not have a closing tag.
Python XML 验证 架构

评论

0赞 STerliakov 11/23/2022
您可以使用 pyparsing 创建语法。您的模式与 XML 有点相似,但还没有一个已经存在(或者至少是我所知道的众所周知的)。还有很多其他的解析库,支持 PEG/CFG/任何你想要的,但如果你的模式/语法相对简单,pyparsing 真的很容易理解,并且允许快速轻松地进行开发。没有属性且稍作修改的简化 XML 应该很容易实现。
0赞 LMC 11/23/2022
“有没有一种常见的文件格式看起来像这样?”该软件是商业软件吗?示例是否显示实际的元素名称?
0赞 Michael Kay 11/23/2022
看起来像是实习生在休息日制作的东西,来自某个人写在信封背面的规范,该人认为任何带有尖括号的东西都足够接近 XML 以对某人有用。你真的想使用质量这么差的软件吗?

答: 暂无答案